Refactoring rebuilding of keyspace.

So it's more efficient, and can support my next changes
(making ServedTypes per-cell).
First part of per-cell horizontal sharding support.

Still needs:
- disabling query service on sources.
- unit tests for shard methods.
Merge branch 'master' into replication
Merge branch 'master' into replication
Adding unit test for UpdateServedTypesMap.
Now enabling / disabling query service as needed during horizontal splits.
Adding tests to check the query service is enabled / disabled properly.
Updating healthcheck properly, and testing it in resharding.py.
Merge branch 'master' into replication
Merge branch 'master' into replication
Deflake memcache unit test.

It also runs 3x faster now in the happy path.
Remove Sleep() from ThrottledLogger test and check output format.
Merge pull request #122 from youtube/deflake-memcache

Deflake memcache unit test.
Merge pull request #123 from youtube/deflake-logutil

Remove Sleep() from ThrottledLogger test and check output format.
Merge pull request #114 from youtube/replication

Replication