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

Replacing the earlier PR (#152)
Maybe. What was this implementation intended to be used for? At the moment it's only used in the API tests which just test it very lightly and could be written however we like.