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

The question is whether we promise to map *any* arbitrary path to a collection name. I decided in general it was safer not to make that promise, and made the result `PathError \/ Collection` and once I did that it was easy to just choose not to handle some cases for now.

Also, I couldn't settle on a syntax. What would you suggest for these cases?
1. `$`: `\s`, `\d`? Both of these are used for other things in regex. `\dollar` seems rather long.
2. *null* char: Is this allowed in `Path` and/or HTTP?
3. `""`: not a valid collection name, but also not a valid Path, I guess?

A related question is what to do with a `/` when translating the other way. Do we need to support escaped slashes in Path's string representation?