Handle keypress events as well

keydown is not enough, because browsers. A (very very very) long
explanation that I read in part is at http://unixpapa.com/js/key.html

E.g. on my keyboard layout (neo2), I don't get a keydown event for alt+<,
which in QWERTY keys is alt + caps lock + u (or the key above shift next to
enter on the right side, which actually isn't present on QWERTY (not ' but to
the right of it - it's not there on a US layout, but it is # on QWERTZ). I do get
a keypress event though.
Fix history keybindings for keypress

because ASCII != keydown code in JS m(
Add necessary files for unit tests setup
Add unit test setup files and sample plugin unit test
Add instructions on how to run the tests
Make travis run the tests
Add tests for all plugins
Documentation; make test file executable, jshint tests, add a gitignore
Don't fail failed tests by accessing undefined members

If a plugin didn't recognize something it should have recognized, don't fail in
checking whether it failed.

Also, semicolons.
Use valid test URLs
Add tests for Gist & Tweet plugins
Test images with GET parameters as well (#414)
Setup end to end testing

Add necessary targets in the package.json file
and update test instructions
Add sample E2E test
Merge pull request #399 from glowing-bear/fix-keypress

Handle keypress events as well
Merge pull request #424 from glowing-bear/add-e2e-tests

Setup testing
Use strict angular dependency injection

Prerequisite for proper minification
Add minification