Fix recursive scheduling with the immediate scheduler.

When used with `RACImmediateScheduler`, recursive blocks were being called recursively. Which was exactly what shouldn't happen. We want recursion to be flattened out so that we don't accidentally smash the stack.

This was pretty easy to hit if you used `-[RACSequence signalWithScheduler:RACScheduler.immediateScheduler]`.