Cherry picked from aborted 3.0. - Add RACLiveSubscriber, reduce subscriber allocations

Since RACLiveSubscriber fulfills the use cases of _both_ RACSubscriber
and RACPassthroughSubscriber, we can avoid creating _two_ subscribers
for every block-based subscription, and just reuse the same object
instead.
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.
Add -[RACSignal deliverOnMainThread]