Fixes #693 and #741. Export `gather` for easier extensibility.

This patch adds `gather(opts)` to the cli export with the intention of
allowing third parties to hook into the file resolution, including file
ignore, logic.

`cli.gather` is only concerned with the following opts:
- cli args (files to linted)
- ignores (as would be parse from .jshintignores)
- extensions (as would be supplied by --extra-ext cli flag)

It would return an array of file paths that should be linted.