sstables/compaction: do not actually compact fully expired sstables
sstables/compaction: do not actually compact fully expired sstables

There's no need to actually compact a sstable which is fully expired
and which deletion of all its data will not ressurect older data.
For that, a sstable will only be considered fully expired if it
doesn't contain data newer than its overlapping counterparts.
That way, there could be a false negative, but never a false positive.
Currently, a fully expired sstable would unnecessarily waste read
bandwidth of disk. This will help a lot time series workloads in
which data for a given time window is all deleted at once using TTL.

Fixes #2620.

Signed-off-by: Raphael S. Carvalho <1e2942cea40e3b4d2162dfcd9e53e41c05a84d22@scylladb.com>

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