Nano protobufs.

Like micro protobufs except:

- No setter/getter/hazzer functions.
- Has state is not available. Outputs all fields != their default.
- CodedInputStream can only take byte[] (not InputStream).
- Repeated fields are in arrays, not ArrayList or Vector.
- Unset messages/groups are null, not "defaultInstance()".
- Required fields are always serialized.

To use:

- Link libprotobuf-java-2.3.0-nano runtime.
- Use LOCAL_PROTOC_OPTIMIZE_TYPE := nano

Change-Id: I7429015b3c5f7f38b7be01eb2d4927f7a9999c80
Merge "Nano protobufs."
am 216c9e86: Merge "Nano protobufs."

* commit '216c9e8681b9426e84c9e2222da5c0dd669261b2':
  Nano protobufs.
am 43325653: Nano protobufs.

* commit '43325653beb4e5b6923d0380a84bf7e204be5c22':
  Nano protobufs.
Prevent conflicts between local and proto variable names.

Prefix access to proto variable names with "this.". Also remove unused
GenerateMergingCode.

Change-Id: I5f07d3252fc385c4174d9165b64785b40f676e17
Merge "Prevent conflicts between local and proto variable names."
am fb8f78fe: Prevent conflicts between local and proto variable names.

* commit 'fb8f78fe6e2d757b813747d5d401a0eeb0cd478b':
  Prevent conflicts between local and proto variable names.
am a6b79eb9: Merge "Prevent conflicts between local and proto variable names."

* commit 'a6b79eb9618fc1774aa18a0b365e48398f23808a':
  Prevent conflicts between local and proto variable names.
Don't use Arrays.copyOf in generated code.

It didn't appear until API 9 and is thus incompatible with Froyo.
Instead, allocate a new array and System.arraycopy inline.

Change-Id: I2e1cd07a4a762ef8edd5ec06ceaa1d38b302823d
Merge "Don't use Arrays.copyOf in generated code."
am e0ee97ea: Merge "Don\'t use Arrays.copyOf in generated code."

* commit 'e0ee97eaac9a0f3d74c42315a109cdc25f2fddc0':
  Don't use Arrays.copyOf in generated code.
Fix typos in protobuf readme.

Change-Id: Ifa3c8674482ae9575df459a3e76e9f8b4a9296b5
Signed-off-by: Matt Thrailkill <mthrailkill@google.com>
Merge "Fix typos in protobuf readme."
am d29f87c7: Merge "Fix typos in protobuf readme."

* commit 'd29f87c79f34ecd6b7889cc49ca9e9d90c413634':
  Fix typos in protobuf readme.
Add toString() method to MessageNano.

- All of the real work for printing the proto is actually done in
  MessageNanoPrinter.
- Uses reflection to find proto-defined fields and prints those.
- Prints all fields, even defaults and nulls.
- Also added a simple test to make sure it handles all proto types well.
  Tried not to make the test too brittle (but hey it's testing a toString()
  so how flexible can it be)

Change-Id: I3e360ef8b0561041e010c1f3445ec45ecdcd2559
Fix javanano compiler generating uncompileable java code. This happened
for enums when java_multiple_files=true.

Change-Id: Ia6fe1a51c6a46eb9a2f29527829794076b165cb7
Signed-off-by: Brian Duff <bduff@google.com>
Merge "Fix javanano compiler generating uncompileable java code. This happened for enums when java_multiple_files=true."
am 4e76e72b: Merge "Fix javanano compiler generating uncompileable java code. This happened for enums when java_multiple_files=true."

* commit '4e76e72b03f6dafc9ad650864b6a12b665801b9b':
  Fix javanano compiler generating uncompileable java code. This happened for enums when java_multiple_files=true.
Merge "Add toString() method to MessageNano."
am 6f59b383: Merge "Add toString() method to MessageNano."

* commit '6f59b38386c8ff883c8e9e0a76068fa07d95bfb1':
  Add toString() method to MessageNano.