Added support for mocha hooks

Added support for a pretty undocumented feature of mocha.  When mocha is run programmatically (i.e. `mocha.run()`), the function returns a runner object which has events a user can subscribe to.  This can be useful for utilities such as code coverage reporting which needs to be performed after mocha tests are done in `phantomjs`.

See [this](http://stackoverflow.com/questions/18660916/how-can-i-subscribe-to-mocha-suite-events) article for a more in-depth explanation of the hooks.