Update ExtensionRegistry

The return type for keyForClass should be NSString *.  Updated to use
GCD for singleton.
Rename support library to ProtocolModels

The support library has been renamed because it does not have backward
compatibility with the ProtocolBuffers library.  This should remove
confusion and conflicts.
Moved target packaging files, update pch

The precompiled header included one of the library files.  To ensure
that the correct headers are included where they are needed, and to
make it clear which interfaces are being referenced to the compiler,
the precompiled header does not include library headers.
Removed unnecessary headers from the project

These headers were unnecessary with the proper forward declarations and
headers included where needed.
Removed TextFormat from the project

TextFormat for human readable message debugging hasn’t been
implemented.  These files do not contribute to the runtime.
Removed old Descriptor files

The updated ones can be found in the unit test / protocol buffers
folder.
Simplified the message object model

The AbstractMessage class only provided access to one method for
ConcreteExtentionField.  In the interest of clarity, generated messages
inherit from GeneratedMessage and code that needs to interact with
objects using the “message” protocol use the message protocol.
Simplified the message builder object model

The AbstractMessageBuilder class only provided some method
implementations to satisfy the MessageBuilder protocol.  Few were
actual used in the runtime or generated classes.  In the interest of
clarity, generated messages builders inherit from
GeneratedMessageBuilder and code that needs to interact with objects
using the “message builder” protocol use the message builder protocol.
Merge branch 'runtime-library-interface'