osdc/Objecter: fix tick() session locking

We need to take the session read lock before traversing the ops lists.

Fixes: #9706
Signed-off-by: Sage Weil <sage@redhat.com>
osdc/Objecter: fix use-after-frees in close_session, shutdown

For,  linger ops, _session_linger_op_remove invalidates our iterator; add
it to the list first.  Same goes for the others.

Signed-off-by: Sage Weil <sage@redhat.com>
Merge pull request #2702 from ceph/wip-9706

objecter: fix session locking, use after frees (#9706)

Reviewed-by: Yehuda Sadeh <yehuda@redhat.com>