New support for efficient repeated appends

If all you are doing is loading a protobuf, appending a new field, and
saving again, this feature can really save memory use. It doesn't render
all the repeated submessages to python objects. It just modifies the
internal structures.

Here's the output of check_mem.py for a base interpreter load, a normal
append and a fast append (memory use in KB):

    baseline 32748 6876
    normal-append 633364 607288
    fast-append 59092 33344
Merge remote-tracking branch 'dowski/fast-append'

Conflicts:
	test/test.py
Updated cython-generated file.