Skip adding disposables that are already disposed
Merge pull request #1478 from talko/disposablecherrypick

Cherry pick 3.0 change to skip adding disposables that are already disposed
Initial implementation of RACKVOProxy per discussion in https://github.com/ReactiveCocoa/ReactiveCocoa/issues/1122
Integrate RACKVOProxy into RACKVOTrampoline; adjust how we generate context parameters to avoid collisions in the proxy table
Increase speed of +combineLatest: by 60% by converting to a non-recursive implemention.
Temporary hack fix to prevent crash correlated to race condition between addObserver on low priority thread followed by immediate removeObserver on main (from @epatey)
Failing unit test to expose thread-unsafe implementation of -[RACSerialDisposable disposable].
Reimplement RACSerialDisposable with OSSpinLock rather than OSAtomic in order to fix -disposable method to be thread safe.
Add [UIAlertView rac_willDismissSignal]. This is required when events are required if the alert is dismissed programatically. rac_buttonClickedSignal does not fire an event in that situation.