Fixed up various one-off discrepencies (e.g. whitespace, shebang)

Since I have push access, I wanted to visit all the discrepencies I saw earlier. In this PR:

- Moved to standard `Gruntfile` format
    - Normally we use `module.exports = function (grunt) {` for inversion of control during testing
    - http://gruntjs.com/getting-started#an-example-gruntfile
- Moved to `/usr/bin/env` for `install.sh` shebang
    - While it is unlikely that `/usr/sh` will be defined elsewhere, it is a common pattern (and consistent with this other project shebangs) to use `/usr/bin/env` to resolve its location
- Added missing whitespace in CSS (was inconsistent with JS spacing)
- Added missing whitespace in JS parameters (was inconsistent -- some had spaces after commas, others didn't)
- Removed trailing whitespace (was inconsistent as other lines did not have trailing whitespace)
- Added description and keywords (useful for searching on `npm`)