Broadcast EventLeaderElection on all term or leader changes.
Return a channel from MultiRaft.{SubmitCommand,ChangeGroupMembership}.

This channel can be used to wait for the proposed action to be
committed.

Adding this wait to TestMembershipChange demonstrated that the test
wasn't actually doing much. Some of the issues have been fixed
but the test is disabled until we make some decisions about the
group membership protocol.
s/SendMessage/RaftMessage/g

This avoids confusion caused by the fact that the same method name
is used for both the sending and receiving side of the message.
Add commit to multiraft.group.pending.
Merge remote-tracking branch 'origin/master' into commit-notification

* origin/master:
  Log instead of panicking when ProposeRaftCommand called after shutdown.
  README.md: Update to remove RocksDB confusion.
  Address feedback
  Address feedback, add unittest, fixed bug in Store.RemoveRange
  Update scanner.go
  Implementation of rangeIterator for store.
  adjust scanner timing test to be more permissive
  Add new baseQueue and underlying priority queue code and tests.
  fix test, added more debugging log statements
  Rename makeRangeKey to engine.RangeDescriptorKey for clarity
  move scan interval to a default value and command line flag in store.go
  Addressed Ben's feedback; added an empty iteration unittest. Also fixed data race in the unittest.
  Range scanner which iterates over ranges and adds them to queues.
  Update README.md
  Minor client documentation updates.
  Further simplified logic in updateRangeAddressing
  Add support for merging range addressing records.
Merge pull request #215 from bdarnell/commit-notification

Return a channel from MultiRaft.{SubmitCommand,ChangeGroupMembership}