Fully support symlinks and submodules

Lstat, Stat, and ReadDir now properly handle symlinks and (git) submodules. In addition:

* the Sys() method of the os.FileInfo for a symlink returns a SymlinkInfo that contains the symlink's destination
* the Sys() method of the os.FileInfo for a git submodule returns a SubmoduleInfo that contains the submodule's URL and commit ID