Raise exception if send request in non-broadcasting phase.
Fix the bug of SimpleLog found in jepsen test.
Optimization on FastLeaderElection.

1. Everybody broadcasts its own vote at beginning.
2. Don't clear message queue when participants go back to recovery case
since it might remove election messages.
Move the handling of query leader message after heartbeat check.

Found it by running jepsen test.
Fix the timeout bug in jepsen test.
Merge pull request #172 from EasonLiao/raise_exception

Don't buffer the request in non-broadcasting phase.