Client-side unit test failure now causes the build to fail.
Split client-side and server-side linting.

+ refactor: pulled common options into separate config that's explicitly modified depending on whether we're targetting the node environment or a browser environment.
(minor) removed 'CAP' -- these two are sufficiently different with no need to refactor, now.
Client side tests now verify that all required/supported browsers were tested.

+ switched horses: now using procstreams module to start Karma (the client-side test framework).  procstreams has a far more simple and flexible API than jake's exec.
+ refactor: pulled list of browsers to top (ripe for externalizing).
(minor) relocated Karma configuration in the right spot in our project.
Now, we launch Karama from Jake.

+ refactor: pulled Karma command-line into a shared variable.
(refactor) pulled karma invokation into separate method.
Now Karma runs in-process so as to avoid OS differences in process handling.

+ the procstreams solution wasn't working on Windoze.  The karma runner process would quit before all the output could be captured.
+ includes a temporary monkey patch on the write function of the standard output stream because Karma doesn't return the output of the tests, just an exit code.
+ pushed all output into the jake logger
+ all tasks now display a banner for easier reading of build output.
Merge branch 'master' into integration

* master:
  Now Karma runs in-process so as to avoid OS differences in process handling.
  (refactor) pulled karma invokation into separate method.
  Now, we launch Karama from Jake.
  (minor) relocated Karma configuration in the right spot in our project.
  Client side tests now verify that all required/supported browsers were tested.
  (minor) removed 'CAP' -- these two are sufficiently different with no need to refactor, now.
  Split client-side and server-side linting.
  Client-side unit test failure now causes the build to fail.