Make MemoryMappedFileLog thread safe.
Make InMemoryLog thread safe.
Keep track of true byte size of MemoryMappedFileLog internally.
Keep track of true byte size of InMemoryLog.
Prevent partial logs from being used if a failure occurs during snapshotting.