Karma chameleon

This enabled karma testing by default.
Also, it enabled karma testing via saucelabs on travis if the test is initiated by a branch from the main repository, otherwise, it runs the tests in phantomjs using karma. This is because travis ci [doesn't export secure credentials on PRs created outside of the main repo](http://docs.travis-ci.com/user/pull-requests/#Security-Restrictions-when-testing-Pull-Requests).

This is the initial pass of the karma configurations. It should be good to go but it's a bit verbose. I'll be looking into how we can avoid the configuration duplication.