Reimplemented -switchToLatest redux

Fixes an issue in #754 (reverted in 204ae0a40152acdeda03bdd00401152796d00ebc) where the input signal would not be subscribed to repeatedly.

Because [the -autoconnect](https://github.com/ReactiveCocoa/ReactiveCocoa/blob/ced2d7a55bff2ddf3c6e5e8ccbbce6de766aabb9/ReactiveCocoaFramework/ReactiveCocoa/RACSignal%2BOperations.m#L719) would be disposed once the returned signal has completed, multiple subscriptions will fail. This resulted in a deadlock in the refactored `RACCommand`, which depends on some cold signals internally.

@kastiglione