(api change) don't report error count on 'done'

The err callback param should be null for consistency with common cb style.
Since error listener is required anyway, can do counting there, if desired.
check before ignore.some(), minor but measurable optimization
update to jshint 2.x
(api change, minor) optimizations

- remove process.nextTick and associated closures
  (this.getStaCb & this.statOne replaced with this.stat)
- replace path.join with base + path.sep + basename
- move type check to prototype method getType
- comments
minor, s/list/queue/, comments
(api change) enable Scan to be instantiated without "new"

i.e.

   var scan = require('scanfs')(['ignore'], typerFn);