Use the cursor's value length when copying out the value, it's the right
choice since the kvs_record value can change between retrieval of the
item we want, and the copyout.
Call __wt_txn_read_first/__wt_txn_read_last pairs when beginning/ending
operations on data-source cursors.  I'm pretty sure this isn't correct,
but it's better.