gitaly: Move write-ahead log implementation into separate package
The implementation of the write-ahead log is living in the rather generic "internal/gitaly" module. This is somewhat different from the style we typically use for Gitaly, where separate concerns are split up into separate packages. Furthermore, the current code split between the the write-ahead log and the transactional voting is quite confusing as they are so similarly named: it is really hard to distinguish e.g. "internal/gitaly/transaction/manager.go" from "internal/gitaly/transaction_manager.go".
Introduce a new module that hosts the logic concerning the write-ahead log.
Part of #5162 (closed).
Edited by Patrick Steinhardt