Change the way header files are used

We no longer work with public header files, instead app devs have to tell their apps to use the headers found in the project. This is necessary so that archiving an app and submitting it to the store is possible.
Merge a long forgotten commit that improves how headers are included

It's likely that this commit will cause trouble with your app, you may need to re-configure your app's search paths. See the README. It is needed so that apps can be archived and submitted to the App Store.