Failing test (under Release) for KVOing zombies
Manually control object lifetime in property subscription

This way, we can block -dealloc while we’re reading the objects, to
avoid any possible race conditions from deallocating on another thread
at the same time we start observing the object.
Skip subscription in -takeUntil: upon immediate completion
Strongify immediately upon reading
Explain why we lock the whole scope
Optimize like hell in test builds (to exercise races)
Turn -rac_willDeallocSignal into a replaying signal
Merge branch 'master' into kvo-dealloc-race
Merge pull request #1026 from ReactiveCocoa/kvo-dealloc-race

Attempt to fix resurrection of dead objects in KVO signals
Merge branch 'kvo-dealloc-race' into fix-kvo-capturing-self

Conflicts:
	ReactiveCocoaFramework/ReactiveCocoa/NSObject+RACPropertySubscribing.m
	ReactiveCocoaFramework/ReactiveCocoa/RACSignal+Operations.m
Merge branch 'master' into 3.0-development

Conflicts:
	ReactiveCocoaFramework/ReactiveCocoa/NSObject+RACDeallocating.m
	ReactiveCocoaFramework/ReactiveCocoa/NSObject+RACPropertySubscribing.m
	ReactiveCocoaFramework/ReactiveCocoa/RACSignal+Operations.m