Added a batching feature to the reader and writer threads, where
they use multiRead and multiWrite to batch requests to RAMCloud.

Now the bottleneck in the system has come back again to the main
thread. From profiling the code we're spending about 7us on average
per node splitting the edge list. In light of which, the next
optimization step is to switch to using protocol buffers for
storing the graph in RAMCloud.

ellitron