Cleanup semantics of touch()

We should only bump the highest-read transaction if we've read a
newer one.  We always bump the timestamp.