For consideration. Increase speed of +combineLatest: by 60% by converting to a non-recursive implementation.

One performance issue I've consistently found with my iOS app, particularly in table view and collection view cells, is the performance of `+combineLatest:`. Although the current implementation of the signal is a simple and elegant composition using `+join:block` and `-combineLatestWith:` the recursive/functional simplicity comes at material performance cost.

I've taken a stab at a non-recursive implementation and found that it takes ~40% as much time to subscribe to a `combineLatest:` signal.

I'm running with this code in my product, and I'm curious what others think about the approach.