Use JSHint 2.3.0
Fix JSHint error in lib/compiler/passes/generate-bytecode.js

Fixes the following JSHint error:

  lib/compiler/passes/generate-bytecode.js: line 334, col 71, Expected an assignment or function call and instead saw an expression.
Fix JSHint error in benchmark/run

Fixes the following JSHint error:

  benchmark/run: line 106, col 10, Wrap the /regexp/ literal in parens to disambiguate the slash operator.
Fix JSHint errors in bin/pegjs

Fixes the following JSHint errors:

  bin/pegjs: line 66, col 14, 'extraOptions' used out of scope.
  bin/pegjs: line 70, col 19, 'extraOptions' used out of scope.
  bin/pegjs: line 71, col 20, 'extraOptions' used out of scope.
  bin/pegjs: line 80, col 10, Wrap the /regexp/ literal in parens to disambiguate the slash operator.
  bin/pegjs: line 128, col 43, Missing semicolon.
  bin/pegjs: line 128, col 45, Don't make functions within a loop.
  bin/pegjs: line 150, col 13, Redefinition of 'module'.
  bin/pegjs: line 217, col 34, Expected '===' and instead saw '=='.
  bin/pegjs: line 243, col 44, 'source' used out of scope.
  bin/pegjs: line 243, col 61, 'source' used out of scope.
.jshintrc: Add the "forin" option & fix fallout

Also added few missing |hasOwnProperty| calls that JSHint didn't detect
because it only looks whether there is an |if| statement wrapping the
loop body.
.jshintrc: Add the "freeze" option
.jshintrc: Add the "immed" option
.jshintrc: Add the "latedef" option
.jshintrc: Add the "noarg" option
.jshintrc: Add the "trailing" option
.jshintrc: Remove the "sub" option