This is a tracking task for the refactoring tasks outlined in our meta merging issue. - [x] Move RecoveryIndex to top level class and move inner classes from RecoveryIndex - [x] Move RecoveryState.Timer to top level - [x] Change GatedAutoCloseable to AutoCloseableRefCounted - [x] Create base class ReplicationTarget and refactor RecoveryTarget to inherit from it. - [x] Engine interface changes for addIndexOperationToTranslog and addDeleteOperationToTranslog