Canged CodedInputStream.ReadTag to use boolean result with out params to
support reading a field name rather than a field tag.
diff --git a/src/AddressBook/AddressBookProtos.cs b/src/AddressBook/AddressBookProtos.cs
index 1d60f2c..cace043 100644
--- a/src/AddressBook/AddressBookProtos.cs
+++ b/src/AddressBook/AddressBookProtos.cs
@@ -292,7 +292,7 @@
             while (input.ReadTag(out tag, out field_name)) {

               switch (tag) {

                 case 0: {

-                  throw InvalidProtocolBufferException.InvalidTag();

+                  throw pb::InvalidProtocolBufferException.InvalidTag();

                 }

                 default: {

                   if (pb::WireFormat.IsEndGroupTag(tag)) {

@@ -590,7 +590,7 @@
         while (input.ReadTag(out tag, out field_name)) {

           switch (tag) {

             case 0: {

-              throw InvalidProtocolBufferException.InvalidTag();

+              throw pb::InvalidProtocolBufferException.InvalidTag();

             }

             default: {

               if (pb::WireFormat.IsEndGroupTag(tag)) {

@@ -910,7 +910,7 @@
         while (input.ReadTag(out tag, out field_name)) {

           switch (tag) {

             case 0: {

-              throw InvalidProtocolBufferException.InvalidTag();

+              throw pb::InvalidProtocolBufferException.InvalidTag();

             }

             default: {

               if (pb::WireFormat.IsEndGroupTag(tag)) {