Update src/stable/lex.js

Modified match for smarttabs to ignore both single line comments and multiline comment blocks (as marked by a leading * character).
Search for .jshintrc relative to the file being linted.

This patch updates the logic that looks for a .jshintrc file to
use to search relative to the file being linted rather than the
current working directory. If no file is found, config still
falls back to ~/.jshintrc.

This behavior should better reflect user intent when linting
files, regardless of where jshint (or the editor leveraging
it for checks) is run from. Since config lookup is now per-file
instead of per-run, the internal findFile method has been
memoized to avoid redundant searching.

References:
  Fixes GH-833
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.
Merge branch 'feature/cli-extensibility' of git://github.com/xzyfer/jshint into xzyfer-feature/cli-extensibility
Merge branch 'relative-rc' of git://github.com/mcheely/jshint into mcheely-relative-rc

Conflicts:
	src/cli/cli.js
Fixed a test broken by 522ad4bdf3433b2068cc95c3c954b080f626c5d5.
Merge branch 'patch-1' of git://github.com/Yuffster/jshint into Yuffster-patch-1
Don't complain about trailing whitespaces on space-only lines; fixes GH-890