-Werror
Fix issues with old compilers.

* Set deployment target appropriately.
* Avoid -firstObject and subscripting.
* Remove pointless framework references.
* Add some macros and categories to our prefix header.
* Disable modules for Tests-OSX. Compiler complains about NULL defined weirdly.
Add target just for testing building on old iOS.