add JSON output support

mixing the two in there is kinda lame, but we can refactor in a different pull-request to support some generic reporting callbacks to facilitate other output formats

![Screen Shot 2013-02-13 at 2 52 54 PM](https://f.cloud.github.com/assets/25254/154963/2655c70a-7630-11e2-895d-aec240671139.png)