Sync Transitions with Events

Fixed the consistency: now `Transition`s callbacks are called with self == record, and added support of inline `guard` and `on_transition` definitions just like `:before/:after` in `Event`s.

While 3.2 is not released, maybe it'd be better to rename `:on_transition` to `:after`?