Remove range ID and use raft ID instead.

The idea is we'll combine Node ID and Store ID (both int32) into a
single Raft Node ID (int64). We no longer need the extra 64 bit range
ID as it's obviated by simply utilizing the Raft ID.

There are some problems with this scheme. In particular, The same Raft
group might appear twice on the same store over time. We want to be
sure that when we add ranges, we never allow the same Raft ID twice.
In order to decide which one to delete, we'll need to keep track of
a monotonically increasing sequence number for each range on creation.
If two or more ranges exist for the same raft ID, we'll take the most
recent. Ben suggests using the commit log index of the membership
change command.
Added check for non-unique Raft IDs and more unittests
fixed formatting
fixed typo
wrap range-spanning ops in txn

added a new OpRequiresTxn error which can be returned if an operation
requires to be carried out in a Txn but is not.
Upon encountering such an error, the txn_coord_sender will re-send
the operation within a transaction.

The way in which this is done currently feels extremely clumsy and
should be improved.

implemented the proto.Combinable interface for InternalResolveIntentResponse,
which can be addressed to ranges.
update TODO
fix merge errors
Merge pull request #188 from tschottdorf/rgspntxn2

wrap range-spanning ops in txn
Merge pull request #197 from cockroachdb/spencerkimball/rm-store-range-ids

Remove range ID and use raft ID instead.
update client/ docs