Add code coverage with coveralls.io.

Also add a dev-requirements with the tools needed for testing,
and added a --virtualenv option you can pass to grunt test to use
a different virtualenv than the default `venv` one.
Add coveralls badge to readme.
Remove bower installation that snuck into travis config.
Bump grunt-nose to 0.1.7 which introduces py3.X compatibility.
Add a seperate grunt-pylint target for marvin.tests.

Also some delinting, make sure delinting is also run in the venv,
and make travis use it's custom venv.