Fixed synchronous ConnectableObservable.connect problem

ConnectableObservable.connect returns a Subscription and thus cannot be unsubscribed synchronously, similar how take didn't work before the Subscriber changes. This PR modifies the ```ConnectableObservable``` and its current implementation ```OperatorMulticast``` to extract the connection Subscription token before it is connected to the source. Cancelling this extracted token makes sure the synchronous connection is unsubscribed.

(The Rx.NET version of the test case seemingly doesn't exhibit the problem. I suspect it is the interplay of ```IDisposable```s.)