More work on transaction prototype

Reimplemented with new Map-like classes in Revision.scala, simple
partial demo added - needs better way of defining the function to be
run in a TransactionTry