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.