Refactoring to support joint consensus.

Summary:
Separate election-related bookkeeping from group membership;
allow group membership to be updated separately from commits.

Test Plan: go test

Reviewers: spencerkimball

Reviewed By: spencerkimball

Differential Revision: http://phabricator.cockroachdb.org/D76