JSON stream reporter

This PR adds a JSON stream reporter and updates the grunt task to use it. The reporter outputs runner status messages on stdout as JSON strings; all other output is redirected to stderr. Each JSON object contains the topic name, a default message, and the relevant object (test, suite, error).  See #120.

Documentation is in the `json-reporter` branch of the wiki repo.