Fix .replay(1) when only one value has been sent on the HotSignal

It took me a while to track this down, but it looks like `.replay(1)` on a hot signal would result in an empty `ColdSignal` if the hot signal had only ever sent one value.

/cc @jspahrsummers 
I'd find this easier to understand with temporaries like `let (signal, sink) = HotSignal<Int>.pipe()`.