Check parent directories for VCS ignore files

Fixes up #144.

Creates one warning, search.c (comparison of integers of different signs). I'm not worried about it, as the max pathlen on the OSes I know of is 4096, and I didn't feel like introducing a new unsigned loop variable would be very nice.