BUG: Error in rolling_var if window is larger than array, fixes #7297

Fixes the error introduced in #6817.

Other rolling window functions rely on the logic in `_check_minp`, and split the iteration into the ranges `[0, minp-1)` and `(minp-1, N)`. Because of the way `rolling_var` handles things, splitting the iteration into `[0, win)` and `(win, N)` makes more sense. Added also some comments as to what is going on elsewhere in the code.

No tests have been added, as @kdiether seems to have that very advanced.