fix: launcher kill method which was throwing an error if no callback was specified
bug introduced in https://github.com/karma-runner/karma/commit/8647266fd592fe245aaf2be964319d3026432e33

In server.js when singleRun = true, no callback is passed to when a browser complete to launcher.kill so if a browser is not yet connected but one has already finished the process throw an error.

TypeError: undefined is not a function
    at process._tickCallback (node.js:415:13)
docs(config): fix a typo
style(config.tpl): add note about installation of launcher plugins
Merge pull request #776 from yhwh/fix-error

fix: launcher kill method which was throwing an error if no callback was...
fix(watcher): improve watching efficiency

This fix significantly improves watching performance. It tells chokidar to
ignore all paths that do not match any of the watched patterns.

Before we were only ignoring paths that match some of the excludes patterns.
That means that even files that didn't match any of the watched patterns were
still watched by chokidar and ignored on the level of `fileList`.

Note, this fix requires chokidar 0.7.0

Closes #616
feat(watcher): ignore initial "add" events

Initially all the patterns are scanned using glob. Then we start watching then
with chokidar. Chokidar now allows to ignore initial "add" event, which was
ignored by the fileList anyway.
fix(watcher): ignore double "add" events

On linux, `fs.watch` (which chokidar uses when `usePolling: false`)
fires "add" events twice. This change makes `fileList` to ignore the
second event.
feat(config): add usePolling config

This config option is forwarded to chokidar. When set to `true` (default value is `false`), chokidar uses `fs.watch` instead of stat polling.

This seems to be finally working well on linux, however it does not work on Mac.
See https://github.com/paulmillr/chokidar/issues/62

That's why I'm leaving it undocumented ;-)
chore: fix the license
chore: add CLA into contributing docs
chore: update contributors
chore: release v0.11.1
refactor(config): junit/coverage plugin configs

This stuff belongs to these plugins:
https://github.com/karma-runner/karma-coverage/commit/2ac2f71a1af13ff40674b4884173b6b487bf4f19
https://github.com/karma-runner/karma-junit-reporter/commit/ff21972c735f160e66085f8fedaa81c8efbb0e0f
refactor(config): remove the BC warnings
refactor(config): extract normalizeUrlRoot
fix(config): use polling by default

This should have been set to `true` in 18514d63534c82094b231eb1e0b0e41011519183. It's reversed.
test(e2e): fix typo in a comment
chore(deps): use HTTPS for fetching npm modules

This stops npm from erroring with useful messages like this:

    npm ERR! git clone git://github.com/karma-runner/karma-coverage Cloning into bare repository '/home/fidian/.npm/_git-remotes/git-github-com-karma-runner-karma-coverage-f5a5ab06'...
    npm ERR! git clone git://github.com/karma-runner/karma-coverage
    npm ERR! git clone git://github.com/karma-runner/karma-coverage fatal: unable to connect to github.com:
    npm ERR! git clone git://github.com/karma-runner/karma-coverage github.com[0: 192.30.252.129]: errno=Connection refused

and like this

	npm ERR! not a package /home/fidian/tmp/npm-17172/1382734998255-0.33902470069006085/tmp.tgz
	npm ERR! Error: ENOENT, open '/home/fidian/tmp/npm-17172/1382734998255-0.33902470069006085/package/package.json'
fix(proxy): handle proxied socket.io websocket transport upgrade

Fixes websocket upgrade handling for proxied routes.
This was motivated by long (10s) default timeouts when socket.io
attempts to use websockets and fails to perform the upgrade.
Merge pull request #815 from Demeterr/fix-websocket-proxy-better

fix(proxy): handle proxied socket.io websocket transport upgrade