Fix an intermittent failure in raft tests.

Summary:
The underlying cause is that entries are written to the log asynchronously
but cannot be commited until the write is complete.  We now track the leader's
commitIndex separately from our own, and when a write is persisted we can
catch up by commiting any new entries that the leader already considers committed.

Test Plan: go test, repeatedly

Reviewers: Tobias, spencerkimball

Reviewed By: spencerkimball

Subscribers: team

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