Grunt-based build system

Discussed in #37.

I've set up a Grunt based build system. In order to use it, you will just need to run `npm install` to pull the updated dev dependencies. Once you've done that, you'll have access to three task commands:

1. `grunt concat`: Will build a concatenated file into `dist/underscore-contrib.js`.
2. `grunt uglify`: Will take the concatenated file and minify it into `dist/underscore-contrib.min.js`.
3. `grunt`: The default task will run both of the above steps.

Both built files have a banner comment at the top with project, version, author, license info. Most of that is pulled automatically from `package.json`, so you shouldn't need to edit it unless you dislike the format. (I based the format on Underscore's.)

Using Grunt seems to make sense because contrib is already using `package.json` and publishing to npm. In addition, there's a very healthy collection of Grunt tasks available. Grunt-contrib-qunit, grunt-contrib-jshint + grunt-contrib-watch would probably be great additions, for example.

I went ahead and built both of the distribution files just to have a starting point, but if you'd prefer they disappear until the next release, just let me know.