There was a bug where for JavaScript we would only serialize an
extension value if it evaluated as truthy, which meant that values like
0 would get silently dropped (even in proto2, where field presence is
significant). This fixes issue #2605, and takes care of the output of
toObject() in addition to the binary format.
These should have been included in the first match
but I overlooked them.
This involved deleting some of the code that tests
Google-internal-only features.