Phoenix 180

First revision for review.  There are some open points here.  Still no test case added to consume the stats.  Will do the performance test once the system is available with me.
How about something like this:

* If there's a single region, we don't try to divide it
* When a table splits, we initiate an update stats call on it - can we capture that in a coprocessor? If not, perhaps we can infer that it happened based on the current stats versus the number of regions.
* We have the concept of a "minimum time to recalc stats" as a separate config and store the time when the stats were last calculated in the stats table. This will prevent too many analyze stats from being called (i.e. it wouldn't be dangerous to invoke an analyze stats here on the client, even if many clients do it, as the ones after the first one would be a noop).