translate Paths to valid dot-separated MongoDB collection names (Fixes #139)

I think it could make sense to fail in some cases -- specifically when the path length is too long to be stored as a flat resource in the backend. But we should not fail because of the characters used in the path. That would make a data source backend-specific, such that copying a resource from one backend to another could fail depending on the characters in the file / directory name.

I think \d works for $. The null character is not allowed in Linux paths and probably shouldn't be allowed here. The empty path is neither a valid `Path` nor a valid collection name.

As for what to do when translating '/' from path, I'm not sure. I guess I'd leave it as-is, because this will just introduce additional levels to the directory system which isn't harmful as far as I can see (and maybe some people use slash to organize collections, e.g. users/activated, etc.).