Normalize mounted paths

Another bite-sized chunk from my branch for #140.

This is just the `FSTable` type wrapping a set of mounted backends and dealing with lookups.
This will not list the children inside a mounted path. Probably we need some abstraction that represents a global view of the file system, which can delegate to an individual backend if the path falls inside that backend's mounted path. I'm OK merging with this as-is since it's better than what we have now, but we will need to improve it soon.