Enforce valid range split keys.

Switched MVCCFindSplitKey to do a simpler scan using the recorded range
stats to determine half-way size and finding the closest key to the
halfway mark that does violate any illegal key ranges.
Varying value sizes can also influence the split key. I'd like to see a test (perhaps a different one instead of extending this one) that shows that the same sequence of keys can have different split points depending on the value sizes (including cases where the resulting split range is both greater and less than the target size)