Ensure that the del has completed, recursively attempt to delete and recreate
Parameters
exists: boolean = true
Whether the temp directory currently exists. Callers normally omit this; it's
used internally to recurse until removeDirectory reports the directory is gone, then create it fresh.
Returns Promise<any>
Resolves once the temp directory has been removed and recreated.
Ensure that the del has completed, recursively attempt to delete and recreate