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 
@jspahrsummers Thanks for the explanation, I think I grok the algorithm now. However, I still can't see the scenario where `index == lastIndex` though, unless we can somehow have two tuples in the `ObservableProperty` with the same `index`... That doesn't seem possible to me the way it'c currently written.

Anyway, it's a purely academic question, as I'm pretty sure this bug is fixed now anyway :)