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.
I would handle the entrance and exit separately.

Entrance:
```
if val == rep:
    nrep += 1
else:
    rep = val
    nrep = 1
```

Exit:
```
if prev == prev and prev == val and nrep == nobs:
    nrep -= 1
```
Note that you only want to decrement nrep if prev is part of a continuous stretch leading to val, not if it just happens to be the same but the stretch was broken in between. The ``nreps == nobs`` test may be off by one; I'm not sure.