Use a weak reference to recurse.

This may have been a false positive from the Leaks instrument, it’s not 100% clear, but it is at any rate convenient to resolve.
Tidy up and document control flow a little better.
Merge pull request #1249 from ReactiveCocoa/leak-or-false-positive

Use a weak reference to recurse.