Added many Grunt tasks

Created Grunt tasks for bundling static assets, incrementing
app version, and updating references to bundled static asset
files from the index.html file.

With these revisions, I won't have to rename specific js and
css files to break client-side caching. Just bumping the app
version like a normal person will be enough. The bundles
will be recreated with Grunt and since the bundles will have
the app version in the file name, just pushing a new version
will make sure that clients will request the latest version
of assets.