Switch to Grunt for build and deploy

We're now using `src/` as the container for HTML/CSS/JavaScript/etc. source files, which should help us organize things.

`npm install` to install the grunt core and the contrib-tasks that we use.

`grunt` or `grunt build` to build.

We can also keep some settings in `dev-settings.json` that are only locally relevant, instead of tweaking the Makefile. `dev-settings.json` is in `.gitignore`, so it's really just local. Right now, we use it for deployment destinations (S3 paths for `s3cmd`), which don't really belong in the repository. That also means the default destination can be a developer's individual dev location.

`grunt deploy` or `grunt deploy:mylocation` to deploy. See comments in `Gruntfile.js` for how to specify deploy locations in `dev-settings.json`.

/cc @hampelm