Grunt Build Tasks

This adds support for a new `grunt` based build and release system.

This uses a new npm package for the bulk of the tasks (yui/grunt-yui-contrib@ff57140a)

These changes convert parts of the library over to be able to use these new tasks.

I also removed all `Makefile`'s that were no longer needed and converted those that were to `Gruntfile`'s.

Full docs for the new grunt commands are in `BUILD.md` in this PR and on the npm package.