agiardullo [Thu, 5 Nov 2015 04:52:22 +0000 (20:52 -0800)]
Change SingleDelete to support conflict checking
Summary: For Transactions, we want to start using the SST files to do write conflict checking. To do this, we need to make sure that compaction never removes all writes if an earlier snapshot exists. So I had to change the way we process SingleDeletes to sometimes leave a SingleDelete behind when we encounter a Put followed by a SingleDelete. See the comments in this diff for a more detailed explanation.