Refactor _subscribers into a singly linked list

This reduces memory usage for the overwhelmingly common case of 1
subscriber, while still optimizing searching and insertion for other
cases.
Remove -didSubscribeWithDisposable: for passthrough

It doesn't actually do anything.
Optimize disposable usage in base signal operators
Merge remote-tracking branch 'origin/master' into subscription-optimization
Go back to an array, but start the capacity at 1

Also make subscriber removal faster than it used to be.
Fix stillHasSubscribers check after removal
Comment nitpick :trollface:
Merge pull request #830 from ReactiveCocoa/subscription-optimization

Optimize subscribers list, disposable usage in base signal operators