Allow for controlled event rejection

This adds the ability to selectively reject an event. For example,
if you want to prevent replay attacks you would set up your event
retriever to record every event id that comes in and return nil for
duplicates. Or, if you are still receiving events for connected
Stripe accounts that are deactivated in your system, you could
drop their events on the floor.