Work in progress on moving to chardet
Implemented charset detection with uchardet
Implemented String primitive using CoreFoundation instead of ICU
Add an operation to fetch a parsed message.

This avoids the copying of Data to NSData to Data which happens with the current approach. In one test case, a message with an ~18 MB attachment, the current (copying) approach peaked at ~150 MB of memory usage in my app. This new approach peaks at ~65 MB. Another test case, which often caused iOS to terminate my app, now peaks at ~90 MB. In addition to the improved memory usage this approach also means that message parsing is performed asynchronously.
Merge branch 'master' into removing-icu-dependency
Additional memory allocation optimization
Merge pull request #933 from michaellenaghan/fetch-parsed-message-operation

Add an operation to fetch a parsed message.
Merge branch 'master' into removing-icu-dependency
Fix error in new fetch parsed content operation.
Merge pull request #935 from michaellenaghan/fetch-parsed-message-operation-fix

Fix error in new fetch parsed content operation.
Optimize memory usage
Merge branch 'master' into removing-icu-dependency
Refactored build system of dependencies
Fixed build
Fixed CMake build
Implemented u_strchr() and u_strrchr()
Use ICU on Linux
Fixed build for Linux: download ICU package
Fixed typo in CMakefile
Build dependency if the version reference is missing