Some tests of paths that can't actually be written to disk

This adds some tests of building trees and accessing contents in memory that might not be able to exist on disk on some filesystems. There does not seem to be an existing problem that is triggered by these tests, but they make sure that the tree code is clean of platform specific path handling.