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
Merge branch 'relative-rc' of git://github.com/mcheely/jshint into mcheely-relative-rc

Conflicts:
	src/cli/cli.js