New Reactor interfaces, changed Reaction

Reactions now use ReactorTxn => Unit, where ReactorTxn extend Txn with
additional method useful to reactions giving more information about
changes, other reactions etc. Reactor trait removed, and we now have
TxnForReaction and ReactionForTxn as traits used to communicated
between a Transaction and the Reactor it is using to apply Reactions.