Handle POST to /data/fs/[path]

Each line of the body is submitted to MongoDB as a "save" (which is effectively update/insert).

Given the MongoDB model, this actually supports creating a new collection, saving new documents to an existing collection, and updating existing documents (see the README).

All lines are parsed before any data is saved, so nothing is changed if the input is bad. However, partial writes can occur if the MongoDB driver gives an error.

Also added a command `save [path] [object]` to the REPL, and made the `ls` and `cd` commands actually work, for the most part.
I've got the rest of the changes done and I'm finishing up the switch to `Process`.

One question: How should we handle partial failures? For example:
1. Line X out of 100 doesn't parse.
2. The MongoDb driver gives an error on chunk 2.
3. Some values are saved and then the client drops the connection.

Right now `FileSystem.append` is returning a single `Task[Unit]`, so all it can do is fail with a single error.

Alternatives:
1. Fail with an error that just says "partially committed".
2. Fail with an error that describes which values were not written.
3. Return a process of results (`Process[Task, Unit]`?), which would have to be consumed by the caller.

At this moment, I don't see the API doing all that much with this, but I think it should at least produce a 500 with a message that indicates partial completion. But I ask in the interest of getting the FileSystem interface right.