mutation_reader: make evictable_reader a flat_mutation_reader
mutation_reader: make evictable_reader a flat_mutation_reader

The `evictable_reader` class is almost a proper flat mutation reader
already, it roughly offers the same interface. This patch makes this
formal: changing the class to inherit from `flat_mutation_reader::impl`,
and implement all virtual methods. This also entails a departure from
using the lifecycle policy to pause/resume and create readers, instead
using more general building blocks like the reader concurrency semaphore
and a mutation source.

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