Validate messages

- [x] Use a real magic value for the `reserved` field
- [x] Confirm magic value when reading message
- [ ] Add a msg checksum field?
- [ ] Do something to ensure progress when we find a failed message?
- [ ] Option to fsync data file?

Thoughts and suggestions welcome.