only use thresholds to move between consensus states

* demands higher thresholds at any phase of consensus
* never allow forks
* added a dedicated state for initial proposal phase for clarity
* updated documentation to mirror changes