Working test skeleton for unit testing, e2e, and midway.

These changes should allow unit, end-to-end, and midway tests to be run with karma.

Grunt tasks have been added as well to make things easier.