build: Update jscs config, minor node-qunit update, fix grunt-watch

Continue specifying our coding style more accurately, and keep
following upstream refactoring that fixes bugs. This release is
mainly about getting rid of the unsable "sticky" operator sniffer
which has been deprecated in favour of using other rules instead
that are able to enforce this more accurately.

* requireSpacesInConditionalExpression: Enable.
* disallowSpaceBeforeBinaryOperators: Enable for commas.
* requireSpaceBeforeBinaryOperators: Add assignment operator.
* requireSpaceAfterBinaryOperators: Add assignment operator.

* disallowLeftStickedOperators: Remove deprecated rule.
  - Ternary covered by requireSpacesInConditionalExpression.
  - Rest covered by requireSpace{Before,After}BinaryOperators.

* requireLeftStickedOperators: Remove deprecated rule.
  - Comma covered by disallowSpaceBeforeBinaryOperators.

* requireRightStickedOperators: Remove deprecated rule.
  - Logical not (!) covered by disallowSpaceAfterPrefixUnaryOperators.

* requireSpacesInsideArrayBrackets: Enable.
    Wikimedia code conventions don't specify whether arrays should
    or shouldn't have spaces. OOjs core enforces spaces in object
    literals via jscs already, and we seem to put them in arrays
    as well (except for a few exceptions, which I fixed).
    It's pretty consistent and easy to keep that way now.
    If it becomes a Wikimedia convention and swings the other way,
    we'd have to change code anyway.

node-qunit (not QUnit itself) had a minor update fixing
a bug with the alignment of assertion failures in the console
output.

grunt-watch was broken due to it referring to 'jshint.all' which no
longer existed as of Iebd399301. Don't watch 'dist' as that would cause
the watcher to be to be fired again after the build creates dist.

Change-Id: I0b0cadbc5cc21b0e5afdd02c3f3820a70c16eb3b