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
assert err on range-spanning GET
Merge pull request #183 from tschottdorf/opsacrossranges

Allow operations to cross range boundaries