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 
Well, let me try to answer that in a roundabout way, because I'm not confident in the algorithm as actually written.

We have a buffer of `index => value`. As additional values are received from the signal, the index continuously increments, and we store each value received. If we ever exceed our capacity, we trim lower indices first.

For our cold observers, we need to replay everything we _already_ have, and make sure that they receive any future values as well. This means that the first iteration should send everything that's been buffered so far, but that future iterations should start _after_ the last index whose value we sent.

So we need to—somehow—track which value we sent last, and make sure to avoid re-sending it. I don't know if the current algorithm is exactly correct for doing that, but that was my thinking.