Importing raw B+ Tree source files
Modifying B+Tree for RamCloud environment. Handled warnings. Added unit tests.
ObjectFinder updated to retrieve table specific tablets. Added flush and flush session. ProtoBuff in objectFinder replaced by internal structure. Unit tests added
Update lfs simulator's usage text.
Merge branch 'master' of git+ssh://fiz.stanford.edu/git/ramcloud
Add missing dependency to RawMetrics.in.{cc,h}. rawmetrics.py will
suck in WireFormat.h as of cd80474ea, but we weren't re-running
rawmetrics.py when WireFormat.h changed. Oops.
Fixed RAM-580: Transient error in BackupServiceTest
WIP: Secondary Indexing: Lookup: End-to-end stubs and some code.

Added functions end-to-end (RamCloud on the client side, through the system,
to ObjectManager on the server side) for functions needed to do lookups.
Some functions are stubs, and some have functionality.

Pushing WIP to sync with other team members and so that they can use
the function signatures.
WIP: Sec Indexing: IndexManager: Added stubs for all functions needed.
Some cleanup in Key class
Improving IndexManager interface and some cleanup
Adding thread-safe counters framework, together with a small set of
counters. This commit also includes some changes to improve debugging in
cluster.py, and a minor bug fix for Ankita's recent patch.
WIP: Improving function division between IndexletManager and ObjectManager.

Accordingly changing the interface.
Fixing index lookup interface in ObjectFinder.
Fixes in read stubs.
WIP. End-to-end stubs for index modification in case of writes & removes.
Removing leakage of indexletId into parts of code that shouldn't know about it.

Each partition of index (indexlet), which is a tree, is (will eventually be)
internally stored as a RAMCloud table. indexletId is this tableId.
However, only the code that does this allocation (or implements related
functionality), should know about it.

Others should refer to an indexlet using the tableId+indexId+key-range.
Handle multiple server queries for looking up index keys.

Implemented IndexRpcWrapper: To lookup primary key hashes for index
key in a given range, this sends rpcs sequentially to index servers
containing relevant partitions and received and accumulates data.
It also handles the case where a response from a single server might
be too large to fit in one rpc (via RpcWrapper);
and the case where an index server fails, which results in the
required data being partitioned across multiple recovery servers.

Accordingly modified lookupIndexKeys on client side (RamCloud).

IndexRpcWrapper class still needs unit testing, to do when
implementing the rest of lookup code.
Added modified stubs for Indexlet Manager
Moving B+ Tree source files to separate directory src/btree/.
Ignoring src/btree/* for make check