Fix minor issues related to attributes throughout the code
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