test/lib/reader_lifecycle_policy: don't destroy reader context eagerly
test/lib/reader_lifecycle_policy: don't destroy reader context eagerly

Currently per-shard reader contexts are cleaned up as soon as the reader
itself is destroyed. This causes two problems:
* Continuations attached to the reader destroy future might rely on
  stuff in the context being kept alive -- like the semaphore.
* Shard 0's semaphore is special as it will be used to account buffers
  allocated by the multishard reader itself, so it has to be alive until
  after all readers are destroyed.

This patch changes this so that contexts are destroyed only when the
lifecycle policy itself is destroyed.

scylladb/scylla,scylladb/scylla,scylladb/scylla,scylladb/scylla