Persistence monad
"Restorable" and higher-level API
initialValue in IO
restoreFromCheckpoint
restore internal state from checkpoint too
PathsFromDirectory
Loop GetT pipe
implement replayEvents and plenty of updates
Introduce Put
Introduce Logger
Implement Logger
Merge branch 'logger' into persistence-monad

* logger:
  Implement Logger
  Introduce Logger
Logger exports
Logger fix tree creation
Free logger from use of indexes
Free logger from use of indexes
Merge branch 'persistence-monad' into persistence

* persistence-monad:
  Free logger from use of indexes
  Free logger from use of indexes
  Logger fix tree creation
  Logger exports
  Implement Logger
  Introduce Logger
  Introduce Put
  implement replayEvents and plenty of updates
  Loop GetT pipe
  PathsFromDirectory
  restore internal state from checkpoint too
  restoreFromCheckpoint
  initialValue in IO
  "Restorable" and higher-level API
  Persistence monad
File locking updates
FilePath updates
Discard the monad-based Persistence API