compaction/stcs: add support for tombstone compaction
compaction/stcs: add support for tombstone compaction

Larger sstables are hard to find sstable peers and therefore are
left uncompacted for a long time. Expired data and tombstones which
can be purged will waste disk space meanwhile.

sstable tracks droppable tombstone from which ratio can be calculated.
If ratio is greater than threshold (0.2 by default), sstable will
be eligible for compaction. Oldest sstables from biggest tiers are
preferrable because droppable data in them are more likely to satisfy
the conditions for purge, like not shadowing data in another sstable.

Subsequent patches will add support in leveled and date tiered
strategies.

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

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