chore: fix travis

We need plugins for running e2e tests and therefore we put them as devDependencies.

These plugins have peerDependency on karma, therefore npm installs another instance of karma into node_modules.

Karma behaves similar to grunt-cli and prefers local versions of karma, therefore the tests would use the karma instance in node_modules, rather then the one in the workspace.

Creating this symlink before npm install causes recursive install.

So we let npm install karma from npm and then remove it.
refactor(scripts): remove unused code to make jshint happy
feat(config): require config as a regular module

Closes #304

BREAKING CHANGE: Update your karma.conf.js to export a config function.
````javascript
module.exports = function(karma) {
  karma.configure({
    autoWatch: true,
    // ...
  });
};
docs: new grunt-like config format