build: Update jscs config and phase out deprecated jshint config

* Coding style options are deprecated in jshint and scheduled
  for removal in JSHint v3 (onevar, camelcase, nomen etc.)

  Remove these from our config and use jscs equivalents instead.
  - camelcase -> requireCamelCaseOrUpperCaseIdentifiers
  - curly -> requireCurlyBraces
  - immed -> requireParenthesesAroundIIFE
  - newcap -> requireCapitalizedConstructors
  - noempty -> disallowEmptyBlocks
  - quotmark -> validateQuoteMarks
  - trailing -> disallowTrailingWhitespace
  - onevar -> requireMultipleVarDecl
  - nomen -> camelcase -> requireCamelCaseOrUpperCaseIdentifiers

* Remove duplicative jscs rules.
  - When using requireSpaceBeforeBinaryOperators you don't need
    disallowLeftStickedOperators rule for the same operators.

Also:
* Update grunt-contrib-jshint to v0.9.2 (jshint v2.4.4)
* Make use of built-in jshintrc parser instead of parsing and
  regex-ing out the comments manually.
* Separate dev and dist files so that linter does not complain
  twice about the same error (once in dist/, once in src/).

Change-Id: Iebd3993017cc7d9acdcbc78ea6ed6614e8d7c4ca