Split ranges along accounting and zone configuration prefix boundaries.

Each store registers a gossip callback for accounting and zone config
maps. On callback, the zone does a binary search using the rangesByKey
sorted slice to find possible ranges which might be intersected by
config map prefixes. On possible hits, the range is dissected along
prefix boundary lines and if there's a necessary split, the range is
split and the process retried.

This allows new zones or accounting prefixes to be specified and ranges
will automatically be split to fit.
I was a little confused at first as to why it returns here.  The AdminSplit requests are called synchronously and are individually routed through the KV, so they should be dispatched to their owning range automatically, even if it that range was created by a previous admin split within this loop.  

If two nodes attempted to perform the split, the second one should fail.