I think I borrowed this `msg.field = nil` syntax for unsetting a field from the official Python protobuf library, but it's really weird. I should add a `msg.unset_field()` or something similar.

Thanks for the test additions.