Added support for ".gharignore".

This file lists, one per line, fnmatch-style patterns (e.g. "README.*",
"*.txt, etc.") to ignore when creating symlinks.

This has to be a separate file and not just .gitignore because .gitignore
means that those files won't be committed and sent to upstreams. That's
OK for stuff you want to keep private, but not OK for stuff like LICENSE
and README files that you'd like to share.

For example, see https://github.com/jacobian/dotfiles
Have a better error message when dealing with non-ghar symlinks.
Merge branch 'symlink-error-message'