Added lastChangeIndex to Box

This allows for querying the change index where the Box was last
changed. This will be 0 if the box has never been changed (still has
value assigned on creation), or >1 if there has been a change to this
box. This looks a little like SVN revisions, and allows easy tracking
of the state of a Box, for example to prevent race conditions updating
a Box over the network.
Rough implementation of versioning

"testString" now has a value and an index, and changes to it are
rejected by the server unless they are based on an up to date index.
This prevents the previous situation where changes could be bounced
back and forth between client and server infinitely, when messages
"crossed over" in flight and kept each other going. This needs to be
neatened up into something that is easier to add into a page for a
number of vars, e.g. a form.