karma: update to version 0.12

We will need this version when we begin using grunt-karma in a
subsequent commit. Unlike karma 0.10, version 0.12 no longer depends
on a number of plugins:

  https://github.com/karma-runner/karma/commit/e033d5618a98

We now explicitly depend on the plugins we use.
grunt: add karma tasks

This adds karma:{unit,single,coverage,travis} tasks. This will let us
consolidate the configuration more in the future.