Support snapshots in LSM via update checks, rather than actual updates.

The current code inserts updates into old chunks, in order to check for
conflicts with snapshot transactions. It's enough to do the conflict check
without actually updating, and doing a check saves some mess with tracking
when it's OK to checkpoint non-primary chunks.
@agorrod thanks, moving it here is fine with me, though it could use a comment.