Allow symlinks to be placed outide the base directory

When your base directory (stored in the .basedir file) is not the git
root, it is feasible that you may want to place symlinks outside of the
base directory. This commit checks to see if a symlink is being created
outside of the base directory, and corrects the referent automatically.