Give all replicas of a range the same Range ID

Previously, the range ID was chosen as unique / store for every new range
replica created on a store. This means that there was previously no way
to refer to a Raft consensus group by ID. The only way would have been to
use StartKey->EndKey.

Now, ranges are allocated from a global id allocator in blocks by stores.
When new ranges are created, an ID is taken from the pre-alloc'd block.

Range ID has now been moved out of proto.Replica and moved into RangeDescriptor.
Replica no only specifies NodeID and StoreID, which is enough information to
locate the device where a replica of the range can be found.

RangeID was not needed in RangeMetadata, so was removed from there.
Also, ZoneConfig.Replicas was renamed ZoneConfig.ReplicaAttrs to eliminate
confusion.
Added a test for allocation of successive blocks of range IDs.
After some reflection and discussion with Ben, re-introduced the
RangeID into the proto.Replica description. We decided it would be
a mistake to lose an exact, unique description of a particular range
replica, which we get via proto.Replica. It consists of three IDs
which together are a unique identifier: NodeID, StoreID, RangeID.

To help with debugging and make things simpler to reason about,
introduced a new "RaftID" which is defined at the level of
proto.RangeDescriptor.
Merge pull request #66 from cockroachdb/spencerkimball/range-id-is-group-id

Introduce a RaftID, move range lookup into Store from LocalKV