Don't revisit directories via recursive symlinks

By building a set of canonicalized paths as directories are visited
during a recursive walk, we can prevent cgrep from mistakenly
traversing symlinks that recursively lead up the current directory
structure to an already visited directory.

Fixes #6
Merge pull request #7 from minuteman3/fix_recursive_symlink_walking

Don't revisit directories via recursive symlinks