Adds support for Grunt to the project.

This patch is the first of several I'd like to commit to the project to allow it to be more modular.

I'm hoping that we can split up markdown-js into separate files and build them on the command line. Users should eventually be able to choose the dialects they want included in the built file.

The first step, is to add support for [Grunt](http://gruntjs.com/). 

Grunt can be used to run tasks on the command line such as builds, tests, removing debug assertions and all that great stuff. I have migrated the current tests and hinting over to Grunt, so you can now run:

```
$ npm install
$ grunt test
```

And it will run all the tests and linting. I have kept reverse compatibility with the old way of running the tests `npm test`, `npm tap` and `npm lint`, although they all run via Grunt to keep a singular code path.

My next step will be to split up the large markdown-js into multiple files, and have grunt assemble them.

Feedback appreciated!