Refactor the testing setup.

Refactor the testing setup, dropping the globaly required protractor, and run the testing tasks with Grunt and a locally installed protractor.
The tests will now run on the production build.

Refactor the background.spec tests to get the extension ID dinamically, fixing the long standing issues with the hardcoded extension options page url.

Fix all failing tests in the the background and content specs, so all tests are now passing with `grunt test`.

Added details about how to run the new testing setup in the README.
Create shared config for the tests.
Add editorconfig files.
Switch all tests to use the shared config file. Use a shared method for getting
the extension ID, so we can also test the pageAction popup in the content tests.
Use config data in the background and content scripts for the remaning items, to
not have any hard-coded data in the tests.
Create a new quicktext for the content test, and use it for testing the
autocomplete functionlity, instead of the previously hard-coded default
quicktexts.
Improvements in the content script, to wait for the element that we're sending
keys to, to make sure the tests are not failing because of random `element not visible`
errors.
Don't compile the app when running the protractor :sub-tasks.
Update packages, including protractor, in package.json.
Merge branch 'testing' of github.com:xarg/quicktext-chrome into testing

* 'testing' of github.com:xarg/quicktext-chrome:
  Use config data in the background and content scripts for the remaning items, to not have any hard-coded data in the tests. Create a new quicktext for the content test, and use it for testing the autocomplete functionlity, instead of the previously hard-coded default quicktexts. Improvements in the content script, to wait for the element that we're sending keys to, to make sure the tests are not failing because of random `element not visible` errors.
  Switch all tests to use the shared config file. Use a shared method for getting the extension ID, so we can also test the pageAction popup in the content tests.
  Create shared config for the tests. Add editorconfig files.
Managed to run the tests on saucelabs, by compiling a local crx, converting it to b64 and using the b64 as a string - as the extension source (instead of the previously used folder path to the unpacked extension).
Try to find a work-around for the erratic behavior of .sendKeys on sauce labs, because of which the tests are failing online - while working on my local setup.
Add travis config file with encrypted env vars.
Create a new .pem key on every deploy.
Change test command.
Add `npm test` as an alias for `grunt test`.
Add bower install to travis install.
Install global bower.
Install mousetrap from https instead of git.
Still trying to fix the issues of the tests not working on saucelabs, because of either `element not found` or weird sendKeys issues.
Merge pull request #69 from xarg/testing

Testing improvements