mon: move election start reset to starting_election() helper
mon: move election start reset to starting_election() helper

An election can start either because we call it, or because someone else
calls it.  Either way, we need to reset our state, so move that code into
the election_starting() callback, which is called by the elector's
start()/call_election() anyway.

This hopefully fixes a case where we see a timeout expire on the monitor
and fail the assertion

mon/Paxos.cc: In function 'void Paxos::lease_timeout()':
mon/Paxos.cc:684: FAILED assert(mon->is_peon())
 1: (SafeTimer::EventWrapper::finish(int)+0x259) [0x52da29]
 2: (Timer::timer_entry()+0x8e3) [0x52f523]
 3: (Timer::TimerThread::entry()+0xd) [0x46d45d]
 4: (Thread::_entry_func(void*)+0xa) [0x458aca]
 5: (()+0x6a3a) [0x7fe0bd6a4a3a]
 6: (clone()+0x6d) [0x7fe0bc8c277d]

The Paxos::election_starting() hook resets the timer, and will at least
close this possible cause.

Reported-by: Henry C Chang <8ea7691fbcfbc0c50d0799098007c03792365f76@tcloudcomputing.com>
Signed-off-by: Sage Weil <6dd34506bbd5e58221bbb3e4732d97c91f02277b@newdream.net>

ajnelson/ceph,ajnelson/ceph,ajnelson/ceph,ajnelson/ceph,ajnelson/ceph,ajnelson/ceph