mon: PaxosService: queue context appropriately on wait_for_writeable()

We should queue the context in wait_for_active() if we are not write-ready
(i.e., if we don't yet have a pending value, which is created solely when
we become active), or we should wait for our proposal to finish if a
proposal is in progress.  If we don't get queued in either of these queues,
then if means that Paxos must be the one blocking us and we should wait
for Paxos to become writable.

Fixes: #5407

Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com>
(cherry picked from commit d8e6b50d68dd6ad2c7e20178a059d810a8e8e4d6)