osdc/Objecter: move mapping into struct, helper

Move the common bits of Op and LingerOp into op_target_t and separate the
actual mapping calculation into calc_target().  This hugely simplifies
recal_*op_target() by mostly just shuffling all of the same logic into
that helper.

There is one functional change in this patch: recalc_linger_op() now is
aware of the tiering logic that was previously only handled in
recalc_op_target().

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

Conflicts:
	src/osdc/Objecter.cc
	src/osdc/Objecter.h
objecter: rework locking for op session handoff

We take both the source and target session lock, and making sure we do
that in order. If we can't, we defer the op handoff to later and take
the locks in required order.

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>