Add support for other dirent types
Atomically increment next virtual FD number
Permit non-virtual FDs to go around the VFS layer
Close files on destruct
Move chdir handling into VFS
Implement fchdir
simplify code in do_open{,at}
Split out Filesystem classes to their own files