Resolve symlinks in the worktree
As a complement of (and a model for) #188 (closed), resolve symlinks when reading files for a content source from the worktree (i.e., symlinks that originate in the worktree)
After doing analysis for #188 (closed), we discovered that symlinks in the worktree are already partially supported. That support stems from the fact that the resolveSymlinks option is enabled in vinyl-fs (the file scanner) by default. However, this option alone is not sufficient to fully support symlinks. The follow option also needs to be enabled. The latter option allows vinyl-fs to traverse nested directories after resolving a directory symlink.
This issue shall be considered complete when the follow option is enabled and there are tests for each of the following scenarios:
- file symlink to sibling file
- file symlink to non-sibling file
- file inside of directory symlink
- file inside of nested directory inside of directory symlink
- symlink that points outside of start path (but still inside worktree)
- symlink that points outside of worktree
- symlink that points to a symlink