Project File Updates

This pull request includes:
- a git-ignore file with common and project specific exclusions
- updates to the proto files and generated classes following the processes described in the readme files
- updated library files (built with the latest version of llvm that comes with Xcode)

The changes have been separated into different commits so you can pick and choose which to merge.

The git-ignore file removes some of the cruft when using git with this project, specifically when using the external build scripts.  The proto files were updated from keynote only.  This leaves the pages and numbers proto files (about 5) that may need to be updated.