Refactor HotSignal.pipe() so the sink keeps the signal alive

Fixes https://github.com/ReactiveCocoa/ReactiveCocoa/issues/1588.
![](http://www.reactiongifs.com/r/wed1.gif)