Build: Reflect karma changes in the readme
Test: Remove debug artefacts
Test: Remove redandunt 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
Test: Remove empty.js file

For the test that uses this file it does not matter if file exist or not, but
configuration of karma server and QUnit testsuite would became a bit trickier
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