compute split key for range splitting

Added a method to compute a split key based on the size. To do this, I had to look at raw keys from the engine and decide whether they are an MVCC metadata key or a timestamped value and if so, find the metadata key. To do all of this, I had to expose the methods mvcc{En,De}Code and was forced to do the binary decoding/encoding of keys manually, which leaks MVCC implementation details.
@jiangmingyang Can you suggest an interface to improve on this?
Does seem like a lot of work to get this split key. Todd's suggestion has real merit. Maybe letting rocksdb estimate size (we have to use it's estimate anyway in order to trigger split) and then iterating to halfway makes more sense. Or just iterating through twice...once to count and once halfway to get exact split key.