multishard_combining_reader: move the shard reader definition out
multishard_combining_reader: move the shard reader definition out

Shard reader started its life as a very thin layer above foreign reader,
with just some convenience methods added. As usual, by now it has grown
into a hairy monster, its class definition out-growing even that of the
multishard reader itself. It is time shard reader is moved into the
top-level scope, improving the readability of both classes.

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