Initial implementation of raft.MultiNode.

This is mostly a transliteration of raft.Node with a map of raft objects
instead of just one. It was implemented without any changes to the
single-node implementation, although it could be simplified if we added
group ID fields to the underlying protocol buffers.

@xiangli-cmu, this isn't ready for a full review yet but you might like to see the current state.

@spencerkimball @cockroachdb/developers 
Copied from https://github.com/coreos/etcd/blob/f12583c163f6f0ace5980a2129fd3a0c3f1d6bbf/raft/node.go#L285. I think this check should probably be done at a different layer.