Tests: Remove debug artefacts
Tests: Remove redundant instructions
Build: Move karma config to test folder

* Add "empty.js" file into the karma server
* Add and correct some comments in karma config
* Small simplification of instructions of the karma grunt task
* Remove karma dependency from the package.json since it's a global package
Build: Use browserstack through karma runner
Tests: Deal with empty.js path

With "/base/test/data/empty.js" path karma runner will not show 404 errors,
for local run through actual browser, 404 path will be okay.

Hackinsh, but it's probably the best thing that we can do.
Build: Specify browserstack settings
Build: Change karma initialization strategy

* Add secure environment variables

* Instead of the "browsers" module use "launchers" to store
  browserstack browser launchers info and "environment" which
  would change karma settings for different environments
Build: Clean up

* Lint karma modules
* Prettify some statements
* Use "use strict" statement in karma modules
Docs: Reflect karma related changes in the readme
Build: Execute tests in Firefox from forks
Build: Reset karma browsers option at watch task

Even if developer has browserstack access, do not use it to run all
supported browsers at watch task, since it's execution will take a long time
Build: Add more useful "test" task

With it you can specify browsers you want to run tests.
Example: grunt test --browsers=chrome-30,android_2.3
Build: Improve flexibility of karma setup

* Remove environment module by moving it's logic to grunt and karma config

* Declare new "test" task in grunt config

* If browserstack settings are not available use only phantomjs instead

* Add prefix "bs_" for browserstack browsers
Build: Divide browsers on groups

To make testing process more flexible,
divide browsers on three groups: desktop, old and mobile

Update browsers version but don't use Opera 12.16, since it's behaves unpredictable
Build: Add missed karma packages
Tests: Improve karma config

* Give a name for browserstack build of local runs

* Remove transports option from karma config

* Use lowercase for name of travis build of browserstack

* Increase timeouts so runs through browserstack would be more stable