Fix memory leaks, corruption, and warnings

This PR fixes a major issue, a minor issue, and a warning.

Most importantly, it eliminates the Block_copy and Block_release calls in the when/failed/any methods. The Block_copy result was being ignored, which was leading to an over-release of arbitrary stack values when the block was finally run (basically: random segfaults in arbitrary code). Block_copy is actually not necessary here at all, since the block parameters will be copied recursively if the block passed to "bindOrCallBlock" is Block_copy'd before being added to the _callbackBindings array.

It fixes a minor refcount issue by autoreleasing the resolved / rejected return values (found via clang Analyze).

Finally, it switches from retain / release messages on the GCD queues to calling the GCD reference count methods directly, which got rid of a warning in Xcode 4.6.