Fix writing entries > 2G erroring with POSIX error EINVAL (fix #39)
Remove offset bias from channel output

* Channel output no longer stores an offset bias to better present a clean I/O class. To get the correct offset when needed, any initial skip bytes are now explicitly added to channel output offset.
Limit large data autoreleasing to reduce memory (fix #39)

* Prefer ARC-scoped release rather than autorelease, so that large data is freed quicker.

* Creating new entry writers and opening new channel input and output is now by convention "ns_returns_retained", which stops autoreleasing on returning large data.

* Most data now created with "alloc" and "init" instead of "data", which stops autoreleasing on creating large data.

* Create autorelease pools around data block calls, which limits the scope of any large data autoreleasing in client code.
Fix missing method warning on build
Old entry writers refer to instead of copying the contents to reduce memory

* We already write entries to a temp file before overwriting the original file. Thus while writing local files, the contents memory map is still valid and the old entry writers need only refer to it. This should reduce memory usage even further.

* Contents and entries are now only invalidated after overwriting the original file. This ensures the old entry writers don't end up referring to unmapped content. Also after most update errors, the contents and entries are unchanged.

* Old entry writers only refer to their central header iff they can skip writing their local file. This is because writing the local file modifies the central header.
Update project settings to Xcode 5

* Builds 64-bit iOS for 6.0 and above.
Update testing framework to XCTest
Update to Objective-C object subscripting
build for more than just the active architecture
Merge pull request #43 from BillinghamJ/feature-multiple-architectures

build for more than just the active architecture
Prefer ARC-scoped release rather than autorelease in the API

* Creating old entry stream and data is now by convention “ns_returns_retained”, which stops autoreleasing on returning large data (see @f5abe34).
Bitcoin donation address
Update doc comments
Update README
Synthesize a suitable fileMode for MS-DOS or NTFS entries (fix #47)
Remove libc++ dependency

* Build without C++ or Objective-C exception support.

* Use scope guards to cleanup resources instead of @try/@finally blocks.
Composable inflate input streams

* Inflate input streams are now composable with other input streams.

* Provide old archive entry data through single step inflating via [ZZInflateInputStream inflateData:withUncompressedSize:], instead of streaming.

* Encapsulate CGDataProviderRef creation in ZZDataProvider class, dropping non-standard rewind and skipForward methods on ZZInflateInputStream.
Standard (weak) PK decryption support. Basis for future AES decryption support.
proper member functions to manager ZZExtraField
breaking change: remove non-error stream message