Request lifecycle events

Adds `send`, `error`, `success`, and `complete` lifecycle events. Fixes #5.

I'm struggling to get the bower dependencies installed locally so no tests yet, but this is a good sketch of what the events might look like.