Deal with clock uncertainty for transactional readers

Taking care of what Spencer describes in the last slide of
https://www.youtube.com/watch?v=MEAuFgsmND0&feature=youtu.be
and the corresponding entry in the TODO (which describes slightly different semantics),
namely the case in which a reader stumbles upon a write which has a timestamp in the near future.
How about a test in kv/txn_db_test.go that does the following:

  - Create 3 clocks, each with max drift (offset) set to 100ms
  - Set clock 1 to time=t, clock 2 to time=t+50ms, clock 3 to time=t+100ms
  - Write three values at current time according to each of the three clocks
  - Start three txns, each using one of the three clocks. In each txn, read the
    three values and ensure that all txns read the correct values.