Added Box and Txn functions

To retrieve index, state and value using those names - these were all
possible via revision etc., but this adds a more direct route.
Added apply function to Lock - does same as run, but allows lock{...}
Ported data link to transact, added demo

angular.html and AjaxViewDemo now show simple use of AjaxDataLinkView
to edit a Box[String]. Have ported implementation to transact, this is
now a little neater since it uses only revision indices to decide
whether to accept client->server changes, and whether to send
server->client changes, rather than relying on actual value. Also uses
a lock in the view to ensure this works as expected with transact
Views, which unlike old box views may be (probably are...)
asynchronous, and delayed until the end of the whole transaction. This
is neater and seems to work well.