Cachedir support

These changes add an --exclude-caches option for excluding cache directories specified using the CACHEDIR.TAG protocol detailed at:

http://www.brynosaurus.com/cachedir/spec.html

I also added a test of the functionality.

This also includes a minor spelling fix as well (separate commit).