chore(sauce): use tunnel-identifier and ready-file only on Travis

When running locally, there's not TRAVIS_JOB_NUMBER env variable defined and it screws
the Sauce Connect (it uses a tunnel with empty name), this makes it work locally without defining
TRAVIS_JOB_NUMBER env variable.

Also, if you run the sauce_connect_setup.sh locally, without having SAUCE_CONNECT_READY_FILE, it
does not pass the `--ready-file` argument to avoid Sauce Connect blowing up.
chore: update Karma to v0.10
chore: update Node.js on Travis
chore: disable npm install on Travis

Grunt is configured to run `npm install` before every task. That is convenient when switching a branch for example.

On Travis, this makes no sense and is causing tons of NPM warnings (eg. packages not defining repository field etc).
chore(travis): cleanup travis_build.sh
chore: fix Travis build

Specify hostname/port for connect server to avoid
https://github.com/joyent/libuv/issues/826
test(docs): add missing createMockWindow()

Add missing angular.mock.createMockWindow (removed in
0dd062231a4d495133fd907eeae95c566380c6e1), that the docs tests were
using.
chore(travis): add docgen unit tests to Travis build
Cleaning $timeout deferred objects immediately after callback or cancel rather
than waiting for digest
Tests for the $timeout cleanup tests
Wrapping extra-long lines