messages/MMonSync: initialize crc in ctor

Signed-off-by: Sage Weil <sage@inktank.com>
osd/ReplicatedPG: don't leak Session refs in do_osd_op_effects()

Signed-off-by: Sage Weil <sage@inktank.com>
osd: do not leak MOSDPings on shutdown

Signed-off-by: Sage Weil <sage@inktank.com>
osd: close classes on shutdown

Signed-off-by: Sage Weil <sage@inktank.com>
mon: shut down Paxos on shutdown

This cleans up the completions for any paxos waiters.

Signed-off-by: Sage Weil <sage@inktank.com>
mon: add is_shutdown() state helper/accessor

Signed-off-by: Sage Weil <sage@inktank.com>
mon/PaxosService: discard messages during shutdown

Signed-off-by: Sage Weil <sage@inktank.com>
mon/MonClient: tear down version requests on shutdown

Make sure all callers can handle ECANCELED.

Signed-off-by: Sage Weil <sage@inktank.com>
msgr: use ConnectionRef throughout

Make RefCountedObject a private parent of Connection so that users are
forced to use ConnectionRef whenever references are taken.

Many methods can still take a raw Connection* when they are using the
caller's reference but not taking their own; this is cheaper than
twiddling the reference count, and the lifetime is still well defined.
Local variables generally use ConnectionRef, though.

Signed-off-by: Sage Weil <sage@inktank.com>
osd: break con <-> session cycle on reset

Clear the session->con link so that we can still get from message -> con
-> session in other code paths throughout the OSD.

Signed-off-by: Sage Weil <sage@inktank.com>
common/RefCountedObject: take cct for debugging
osd: debug Session refs
debug refs on Connection
wip