add reduce for basic types
Merge commit '2ac124a1ebba98f5979b81133f6c21499e0d51ec' as 'ffi-mini'
Squashed 'ffi-mini/' content from commit f53d116

git-subtree-dir: ffi-mini
git-subtree-split: f53d11602c7d1945ea6d8cdf47621bcf3ffa7cc1
Replace libffi with ffi-mini.
Define Foundation version nos. Closes #199.
Update podspec for mini-ffi.
Rebuild project. Use XCTest bundles.
Merge commit '9abca2500bde23240ea279b2538cd5e6bef84911' into next
Squashed 'ffi-mini/' changes from f53d116..9e6de89


git-subtree-dir: ffi-mini
git-subtree-split: 9e6de890b0fd430cdd19f8a2a20f624922fc8f7b
Move tests to XCTest.
A2BlockInvocation improvements.
Reshuffle TARGET_OS business
More robust block observation fast-path. Closes #200.
Remove half-baked NSMapTable observer for now
Fix broken podspec
Fix promotion issues in iOS unit tests
Add test case for releasing observers
Fix iOS unit tests failing to run entirely
Another spec change
Merge branch 'master' into next

Conflicts:
	BlocksKit.xcodeproj/project.pbxproj