Fix concurrent renaming.

We stock the renaming promise in cache to ensure that there is not concurrent renaming.
Fix removing directory.
Use `new Q()` shortcut.
Merge pull request #1077 from neoziro/fix-concurrent-renaming

Fix bug with concurrent renaming