SERVER-15248 Convert QuorumChecker into a ScatterGatherAlgorithm.
SERVER-15248 Use a ScatterGatherAlgorithm in ElectCmdRunner.
SERVER-15248 Convert FreshnessChecker to use a ScatterGatherAlgorithm.

Also, use completion functions instead of scheduling work on events to handle
election phase transitions in repl_coordinator_impl_elect.cpp.  Leads to less
scheduling, and easier-to-follow code.