Support for event triggered transitions

implements #31 and #56 , similar functionality to aasm
@mrappleton I'm actually curious how you're using statesman effectively *without* the concept of events baked in. Wouldn't that mean you're keeping track of the logic of when/how states are changed outside of the state machine itself? I really like the overall design of statesman but I couldn't wrap my head around the lack of events so that sort of information would be helpful, especially coming from another library where events are standard.