goprotobuf: Fix handling of empty string defaults for 'string' and 'bytes' fields.

This is a bit of an edge case. All other valid defaults appear as
non-empty strings, but we need to distinguish [default=""] for string/bytes
to uphold the SetDefaults contract.

LGTM=djd
R=djd
CC=golang-codereviews
https://codereview.appspot.com/125100044
6 files changed