Remove throwing() from Event, replace with FailEvent

- throwing(Throwable).when(Event) was redundant with failIf(Event,
  Throwable)
- FailEvent follows the pattern of PollEvent
- It's more intuitive to say what event to fail on, then specify the
  exception if you want
- throwing didn't match the tense of the rest of the verbs (throw is a
  reserved keyword)

So it ended up with more code but a more consistent API.
Update readme for API changes