Problem: encodes nothing if a UUID field is null

This means the encoded message is invalid, which is meaningless.

Solution: if a UUID field is null, encode as all-0 bytes so that the
message can be read safely.

Fixes #76