Introduce karma

Start using karma as unit test runner. Currently, two modes are configured
via grunt.

continous: Can be run with "grunt unit-continuous". Watches files in the
background and reruns whenever a file changes. To be used in DEV
environment

single: Can be run with "grunt unit". Runs all unit tests once. To be used
in CI environment.
Introduce protractor

A symbolic end to end test is added as well.

Run "grunt e2e" to execute tests on a chrome browser.
Introduce travis-ci

Run a build on a travis-ci build server. Current steps:

1) Download all external dependencies
2) Run unit tests via karma on phantomjs
3) Run e2e tests via protractor on firefox