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.
    https://github.com/mdevils/node-jscs/issues/89

Also:
* Use tabs instead of 8 spaces in .jscsrc.
* Make use of jshint's built-in config parser instead of reading
  and regex-ing out the comments manually.
* Make use of jshint's built-in config file finder instead of
  overriding it for all files at once. This way it will also
  automatically support having more than one (e.g. a more
  specific config file inside /test or /src would work naturally,
  just like it would when you run jshint from shell or in a
  text editor).
* Separate dev and dist files so that linter does not complain
  twice about the same error (once in dist/, once in src/).

Change-Id: Ibf5356fcb6df3deb2c4462d6003dd5654513895f
Merge "build: Update jscs config and phase out deprecated jshint config"