Sparse serialization

If a field is NaN or 0, don't include it in the serialized
sample. When deserializing, replace with default.