Separate Forget/Rollback implementations.
Separate Forget/Rollback implementations.

They were originally merged with the hope that they share code. This
ended up not really being the case, and the 'truncate' function was kind
of messy. The separate implementations make it much clearer.

barrucadu/logdb,barrucadu/logdb