add InternalSplit command & tests

* added a method CopyInto to the response cache, req'd for initializing a new range during a split.
* added an InternalSplit command. Making the split happen without a transitory period in which things can go wrong is subtle so this needs a good review and likely some changes.
* added some basic tests, but the transition should be bulletproofed using more tests eventually.
I think that belongs in the range logic but probably @mrtracy knows bsest ;). We want to avoid a) having at any point in time no range for some part of the keys and b) changing anything that we can't roll back easily until we're sure the split is going through completely.