+ fix registerWithParent function
+ fix unRegisterWithParent and use it in Remove and RemoveAll
+ fix findParent function
+ add lock free versions of Mkdir and Open for the use during register and unregistering with parent, so that these changes happen atomical
It was attempting to delete a file with a hardcoded path of "name" as
opposed to the path in the `name` variable.
Fixing this exposed a deadlock because the function was attempting to
acquire an exclusive lock when it already had a read lock.