improve handling of nested paths
move much of the path wrangling into mongodb.filesystem
simpler path<->collection name translation
escape '$' in collection names