Lock free management of active signals Edit

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.