Lock free management of active signals

Based on #699 

Since signals are retained when enqueued to `RACActiveSignalsToCheck`, they no longer need to be eagerly added to `RACActiveSignals`, that decision can be deferred to the next run of `RACCheckActiveSignals`. This change allows modifications to `RACActiveSignals` to happen only within `RACCheckActiveSignals`, which is dispatched on the main thread. The result is that `RACActiveSignalsLock` is no longer needed to synchronize modifications.