Created new class PerfStats (efficient way of gathering statistics,
because it keeps a separate record for each thread, and aggregates
when results are needed).  Also added new GET_PERF_STATS ServerControl.
Modified ObjectManager to record counts of reads and writes in PerfStats.
Modified HashTable to generate log messages when overflow buckets
are created.
Mofidied ServiceManager so that if there are queued requests when
a worker completes, it first gets a new request to the worker and
*then* sends the reply message (this has a significant impact on
throughput for multireads, where it can take a long time to send
the reply). Also, keep track of the duty cycle for each thread in
PerfStats, and eliminate old RawMetric workerIdleSpinTicks metric.
Created new clusterperf benchmarks: readThroughput,  multiReadThroughput.
Various cleanups to clusterperf. Adjusted Various parameters so that
most benchmarks now run with TCP over 1GigE. Refactored the handling
of master-args in clusterperf.py (it didn't conform to the way other
options were handled). Changed default benchmarks that are run (only
the most useful ones are run now).
Minor typo in clusterperf.py.
Changed default number of master service threads from 5 to 3 (5 is
too many for optimum performance in our cluster).
Alphabetizing Key class.
Cleanup and improving some comments in IndexletManager.
Adding unit tests for IndexedRead in ObjectManagerTest.
Simplify indexedRead test and police indentations in MasterService.
More indentation policing.