Add ability to specify a custom ignore function, instead of just patterns

This makes it possible to customize the ignore patterns on a per-project basis... I do that by loading patterns for a given project from a ".ctrlpignore" file at the root of the project. Generally you don't need this, but for some codebases where the directory structure is not so clean, you kinda have to.