imr::utils::object_context: fix context_for for backpointer
imr::utils::object_context: fix context_for for backpointer

Each member of a structure may require different deserialisation
context. They are provided by context_for<Tag>() method of the context
used to deserialise the structure itself.

imr::utils::object needs to add backpointer to the structure it manages
so that it can be used in the LSA memory. This is done by creating a
structure that has two members: the backpointer and the actual structure
that imr::utils::object is to manage. imr::utils::object_context creates
approperiate deserialisation context for it.

context_for() is called for each member of a structure. object_context
implementation of context_for() always created a deserialisation context
for the underlying structure regardless which member that was, so it was
done also for backpointer. This is wrong since the context may read the
object on its creation.

The fix is to use no_context_t for the backpointer.

avikivity/scylla,scylladb/scylla,avikivity/scylla,scylladb/scylla,duarten/scylla,scylladb/scylla,scylladb/scylla,duarten/scylla,avikivity/scylla,duarten/scylla