Make the System enum reflect all u8's

The `System` enum now can save all the possible values of the OS byte, even the
undefined ones. This fixes a possible checksum bug, because the former
version would save undefined OS byte (e.g. 42) as `None` and then produce byte
`255` when computing the header checksum, thus creating an invalid checksum
mismatch error.