Improve ProgressLog:
 - Schedule a fallback timeout for active requests to ensure progress with lost callbacks
 - Clear active task for a txnId when new RunInvoker is registered
 - Consult DurableBefore prior to invoking recovery
 - Support user invoked reset of a command, clearing any active work and requeueing it
 - (Testing): Treat progress log for RX as recurring tasks for burn test termination
Also fix:
 - Handle another truncateWithOutcome edge case

patch by Benedict; reviewed by Alex Petrov for CASSANDRA-20806
14 files changed