mon/Paxos: update first_committed only from paxos

Do not touch the in-memory first_committed until the trim commits.  This
avoids any possible confusion due to races and keeps commit() as similar
to store_state() as possible.

Similarly, do not touch first_committed from store_state.  We should
*only* pull it out of the kv store.

Signed-off-by: Sage Weil <sage@inktank.com>
mon/Paxos[Service]: remove conversion_first

This is initially set the same as first_committed, and is only used to
control trimming.  Get rid of it, and simplify the trim code.

Signed-off-by: Sage Weil <sage@inktank.com>
mon/Paxos: simplify trim()

Collapse all the trim methods into a single simple method.

Signed-off-by: Sage Weil <sage@inktank.com>