The scenario is covered in https://github.com/jpmorganchase/quorum/issues/428, but in short, if
we're mining but two new blocks come in over the network:
(1) The first will clear the speculative chain.
(2) The second previously would have been a noop here --
`removeProposedTxes` does nothing in this case, but we need to update
the speculative chain head to the new block.
The important invariant identified by @guojian1234 that this now
maintains is
`minter.speculativeChain.head.blockNumber >= minter.chain.head.blockNumber`.
Remove unused TestBlockVotingBlockMaker function
Readability improvments to comments for core/quorum/ and raft/
Readability improvments to raft/speculative_chain.go
Readability improvments to docs/