Add simple microbenchmark that measures how fast ObjectManager::readObject
is and how well it scales as we add threads.

It looks like if we can fix TabletManager, we should scale almost linearly
up through 16 threads on rcmonster. Unfortunately, right now TM is killing
us with a single global lock and we just don't scale at all.
Checkpoint an enormous amount of changes and bug fixes that I'll need to
eventually clean up and push.
Replace a missing '!' that got lost in HashTable.cc. Works quite a bit
better now.
Fix a handful of minor bugs, remove the keyLength field from tombstones
(it's not needed), and change the default cleaner balancer to a 40%
tombstone ratio (it's the all-around best according to my expeirments).
Modified ServerTracker so that it fills in missing ADDED and CRASHED events; this saves the need of replicating this code in several callers.  Also, eliminated ChangeQueue subclass (moved mutex to ServerTracker instead).
Modified MasterRecoveryManager::startMasterRecovery so it ignores the crashed server if recovery hasn't yet been officially enabled: the "start" method will find the crashed server and start recovery for it, and this fixes a bug where crash recovery would otherwise have started twice for the same server.
Fixed bug in ServerId::operator<, which caused segmentation faults
during crash recovery (added entry to BackupService.recoveries, but
it then read as NULL!).

Interestingly, when this function was added, no unit tests were
written for it...
Added more logging to BackupService: keep track of old replicas that
haven't yet been freed.
Typo in ServerTracker log message.
Kaopectate for logging diarrhea when the cluster doesn't contain enough servers
to meet replication requirements.
Fixes RAM-568: modified CoordinatorService to perform most of initialization in a separate thread, so that the constructor thread can return and act as dispatch thread. Return RETRY from service requests that occur before initialization completes.
Added documentation for RpcWrapper::checkStatus.
Added more calls to CoordinatorService::waitForInit (their absence introduces races that can cause test failures).
Added an assertion to CoordinatorUpdateManager that helps to detect an easy-to-make initialization error in unit tests that can cause crashes.
Fixed casting issue in BackupStorage that caused assertion failures in tests under some conditions.
Fixed segmentation fault in ServerList that would occur if the first update seen for a previously nonexistent server was REMOVE.
Added new GET_SERVER_ID RPC, along with PingClient::verifyServerId (RAM-517).
Fixes RAM-571: AbstractServerList::getSession now calls PingClient::verifyServerId to make sure that the session connects to the right server.  The old solution is now obsolete, and should be eliminated at some point.
Cleaned up commit 73ab96d198318 (RAM-568) so that tests automatically use synchronous CoordinatorService initialization.
Accidentally committed changes I didn't want to commit; this restores ServerMain.cc and SessionAlarm.cc.