Renaming ITrigger to ICallback

1. Concept of a trigger didn't make sense from the callers perspective.
Listen method accepting a trigger doesn't make sense. What makes more
sense is for the Listen method to accept a callback
2. Transaction.Apply has been renamed to Run, and the old Run method was
removed. The distinction between Apply and Run wasn't obvious
3. Renaming Event.Send to Event.Fire. EventSinks have a send method,
which can be invoked externally. Event.Fire is only ever called
internally, to notify listeners of changes.