Catches errors in hooks, allows skipping tests, fixes small bug

This PR adds error catching in test hooks, so that execution continues even if there is an error in a hook. 

It also adds the ability to skip an individual test by adding a flag in a hook (this seemed the most straightfoward way without having skip support in the blueprint format) like so:

```coffeescript
before "Machines > Machines collection > Get Machines", (transaction) ->
  transaction.skip = true
```
(That addresses #85)

Errors and skips are already handled by the various reporters, they just weren't being emitted by the test runner until now.

The PR also includes a small fix for a bug where a junit report wouldn't get overwritten properly if you used the same filename. Tests are included and I bumped the version. Thanks!