Fix minor issues related to attributes throughout the code
fix the 7-bytes binary decoding error
Merge pull request #184 from joezxy/master

fix the 7-bytes binary decoding error
Move all cases of direct "engine" access to inline-MVCC.

This is a necessary step towards ranges which will contain time series
data, which requires merging. Efficient merging cannot be done using
our multi-row MVCC model. This change provides an inline value in the
MVCCMetadata which is used instead of a versioned value if the timestamp
is specified as zero. Inline values are replaced on successive puts and
are cleared on deletes.

The inlined values can be accessed just like versioned values, and all
MVCC operations work, modulo differences in how timestamps are interpreted.
Once a value has been written as inline, it may not be overwritten using
a timestamp for version values. Inlined values support merge.

Currently, the stats are inaccurately kept for merge, though the next
change will do benchmarks to ascertain the cost of keeping accurate
stats.
Merge pull request #185 from cockroachdb/spencerkimball/inline-mvcc

Move all cases of direct "engine" access to inline-MVCC.
Add benchmark tests for MVCC merge operator.
Capacity gossip is now gossiped per store, not by group.

This should be sufficient for the beta stages. When more stores
are added, then switch to gossiping capacity through groups,
so that only the top N will be gossiped. This will lower the gossip
and storage load on all machines.
Simple, linear implementation of a store finder for allocation decisions

Store now tracks gossip keys of store capacity, and scans the capacity gossip
for attribute matches when they need to make allocation decisions. A simple,
linear implementation that has a straightforward way to implement garbage
collection of capacity keys, but faster methods can be employed later. It
is likely sufficient as long as it is sufficient for all stores to gossip
capacity, but will need to be reevaluated when capacity is gossiped through
groups.
Address Spencer's PR comments

Changes integer base on capacity gossip keys and adds TODO
for possible speedup.
add proto.Combinable interface

Combinable is implemented by responses whose requests may access multiple ranges,
such as {Scan,DeleteRange}Response and allows multiple responses to be merged
into a single one transparently.
allow multi-range Scan and DeleteRange

adapted the distributed sender to split such requests up
and adress them to the individual ranges.
The Combinable interface is used to create a single response
from those parts which is returned with the client.Call.
test multi-range Scan and DeleteRange
address Kathy's comments
address @spencerkimball's feedback
refactor server_test to use TestServer singleton
Embeds a StoreFinder into Store

In response to Spencer's PR comments, rather than increasing
the length of storage/store by defining store finder methods on Store itself.
Merge pull request #187 from embark/embark/rebalancing

Simple StoreFinder and new capacity gossiping
assert err on range-spanning GET
Merge pull request #183 from tschottdorf/opsacrossranges

Allow operations to cross range boundaries
added makefile target for benchmarks