patch 9.0.0411: only created files can be cleaned up with one call

Problem:    Only created files can be cleaned up with one call.
Solution:   Add flags to mkdir() to delete with a deferred function.
            Expand the writefile() name to a full path to handle changing
            directory.
diff --git a/src/proto/userfunc.pro b/src/proto/userfunc.pro
index 555830e..e5543f3 100644
--- a/src/proto/userfunc.pro
+++ b/src/proto/userfunc.pro
@@ -60,6 +60,7 @@
 void func_ref(char_u *name);
 void func_ptr_ref(ufunc_T *fp);
 void ex_return(exarg_T *eap);
+int can_add_defer(void);
 int add_defer(char_u *name, int argcount_arg, typval_T *argvars);
 void invoke_all_defer(void);
 void ex_call(exarg_T *eap);