WIP: Experimental changes in `rolling_var` related to #7900

Added logic to `rolling_var` to detect windows where all non-NaN
values are identical.

Need to assess both correctness and performance impact.
There is also the case where the value you are adding is the same you are removing and so `nrep` is unchanged. But the logic is obviously flawed, I think this is what I want:

```
if val == rep:
    if val != prev:
        nrep += 1
else:
    rep = val
    nrep = 1
```