skip FIFO mode check if stdin doesn't exist

The creating pipe can make pipe no stdin, so I support no stdin.
fix condition
Declare these targets as phony. That way you can make test all day long.
Run ag closer to normal mode in testing.
Add test for ignoring subdirectories.
Braces.
Fix tiny memory leak. Only strlen(base_path) once. Make patterns that start with ./ behave just like those that start with /.
Merge pull request #351 from byplayer/support_no_stdin

skip FIFO mode check if stdin doesn't exist
Slightly better test name. There will be more tests for ignores.
ZERO AND ZERO IS ZERO
TODO
Don't call filename_ignore_search twice with the same filename.
Meh. Don't use strcmp.
Re-work ignoring. This should be faster and more accurate.
Don't call filename_filter recursively. TODOs and cleanup.
Add failing test for ignore rules. We'll have to write our own fnmatch to fix this.
Merge pull request #355 from ggreer/gitignore_excludes

Better ignores
Bump version.
Changed terminal escape character to \033 instead of the GCC specific \e
Fixed access violation