wal: add basic crc

rolling crc added.
The default endianness on intel is little-endian. we use write() everywhere, which is a binary.littleendian.write. 

I do not think we need to worry about cross platform on disk log migration. 

Actually, i do not want to care about the endianness. how about just use PutUvarint?