Decouple CBlockUndo from CDiskBlockPos
MOVEONLY: CBlockUndo from main.h to undo.h
Move UndoWriteToDisk() and UndoReadFromDisk() to anon namespace