Fixes and additional tweaks to unittests and a new MVCC unittest.

 - Use write batch for all multi-put ops in MVCC.

 - Delete previous intent versions when overwriting an intent with
   a newer timestamp within same transaction. This can happen on
   transaction retries.

 - When resolving an intent, make sure to properly update the intent
   value's timestamp if the commit timestamp is different from the
   original timestamp the value was written at.