Added retaining of reactions by boxes

Boxes can now retain reactions, so that a reaction will not be GCed
until after the box has been GCed. This allows for cases like a Box
that exists only to be updated by a reaction, where the reaction is
needed exactly as long as the box is reachable.
Made Txn view and auto methods return the View or Auto they create, to
allow it to be retained so that it is not GCed.
Updated PathDemo, currently testing GC - reaction functions are being
prematurely GCed and not retained, will deal with this by making an
explicit ReactionFunc class to avoid confusion over which exact
function1 is being retained (currently it is too easy to make a new
function1 that calls the old function 1).