Add optional parameters to cli.gather

If gather was invoked without an object that had an extensions and ignores
property then there would be an exception thrown.  It is reasonable that a
client would invoke jshint with an object without these properties.  Especially
since grunt-contrib-jshint relied on the fact that ignores was optional (see
commit 5de09c4) and then that functionality was changed without discussion or
warning, breaking grunt-contrib-jshint.

gruntjs/grunt-contrib-jshint#86