We need to persist commit decisions to config.transactionCommitDecisions as specified in the design document for transactions. For this, we should implement the following functions:
- persistDecision: Must atomically choose the commit timestamp and write the commit decision to disk.
- readAllDecisions: Returns all commit decisions as a vector in memory. For use in recovery.
- deleteDecision: Removes a decision from the collection.