📝Protobuf: in proto3, it is impossible to distinguish absent fields from default values

In proto3, if default value is specified for a field (0, false, 0-string), it is excluded from encoding. This makes it impossible to distinguish default values from absent fields.

Proto2 does not suffer from this issue, and it is always possible to know if the field was supplied.