Refactor Gruntfile for better compatibility

Broserify was getting confised mostly because I was confused. This
refactors the Gruntfile so it is happy with browserify.

- Independent bundles for libs, applicaiton, and specs
- watch now only builds what is needed
Removes testem support

For this kind of project it's a little silly / overkill
Rename app.js to bootstrap.js

Fixes grunt watch task which was adding all files in the root for some
reason.