handle PUT/POST/DELETE to /data/fs/[path] (Fixes #140)

Replacing the earlier PR (#152)
Yes, it's not made clear here and anyway I think the most important thing is that the collection is unchanged if any error occurs.

In fact, the first error is returned, in the MongoDB implementation.