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>
test/librados/TestCase: add Param option that can set up a cache pool

Signed-off-by: Sage Weil <sage@inktank.com>
ceph_test_rados_api_watch_notify: test over cache pool

Signed-off-by: Sage Weil <sage@inktank.com>
Merge pull request #1661 from ceph/wip-objecter

objecter: make linger watch the correct pool/object

Reviewed-by: Yehuda Sadeh <yehuda@inktank.com>
Reviewed-by: Josh Durgin <josh.durgin@inktank.com>