Have _compile_filters return an array of filters

We need to preserve the order of --ignore-dir and --noignore-dir
directives, and the filter collection facility doesn't have a way to
do that
Push --noignore-dir directives onto idirs

This allows us to preserve the order of them with respect
to --ignore-dir directives
Fix --noignore-dir match test
Make --ignore-file work again