Uniformly return uniquely-owned filesystems from VFS creation APIs. The
one exception is getRealFileSystem, which has a single instance and
needs to be shared.
This is almost NFC, except that it fixes a memory leak in
vfs::collectVFSFromYAML().
Depends on https://reviews.llvm.org/D92888