Whitelist std and var for use with custom rolling windows
State: closed

- [X] xref #32865
- [X] 0 tests added / 0 passed
- [X] passes `black pandas`
- [X] passes `git diff upstream/master -u -- "*.py" | flake8 --diff`
- [X] whatsnew entry
 ### The problem
While researching what funcitons are broken for #32865 , I added `std` and `var` to the list since their output didn't match numpy output. I have since discovered that this is because we default to the sample variance formula for all window calculations.
After closer examination, the algorithm itself turned out to be very robust against custom indexers. It is even resilient against non-monothonic window starts and ends.
There is nothing to do there, so we should revert blacklisting `std` and `var`. I don't think tests are necessary, since we aren't changing anything.
### Food for thought
Some background information to make our decision here more informed:

The reason I first believed these functions to be broken is because using the sample variance formula for sliding windows makes no sense to me from a statistical viewpoint. We use sample variance when the dataset is a sample drawn from a larger population. **A window is not a sample**. When we calculate sliding window variance, we aren't interested in getting the correct variance for some underlying general window, we are interested in computing it correctly for each window, and thus each window is the population.

However, as we discussed with @mroeschke:
1) Usually users are interested in calculating variance for large windows, and the difference between formulas for variance is proportional to `1 / (window_size - 1) - 1 / window_size`
2) We use sample variance as a default everywhere else in pandas.
3) The user can specify `rolling.var(ddof=0)` to set degrees of freedom to zero and get population variance, if they know what they want and are aware that pandas uses sample variance by default.

So the default doesn't make much sense, but it is consistent with the rest of our software, and the harm is negligible for most use cases. The harm in changing the default would be that people who know the package well might expect the sample variance default.

Apologies for the long read. It's a part of my job to find mistakes in data science models, so I'm sensitive to stuff like this.

Labels:
name: Docs
name: Window
description: rolling, ewma, expanding

Comments:
/azp run
<samp>
Commenter does not have sufficient privileges for PR 33448 in repo pandas-dev/pandas<br>

</samp>
Well, better restart the old-fashioned way then...
Could you expand on this test (or create a new one) that checks the result of the `std`/`var` operation? 

https://github.com/pandas-dev/pandas/pull/33180/files#diff-c0ea38b081d5b0c3cf20dc8646f38cefR106
also if you would like to expand the docs of std/var (for windows) would be helpful (e.g. adding explanations like above)
@mroeschke 
Sure! Restructured the test a bit to accomodate the required flexibility.
@jreback 
Done. In addition, referenced the new note in the expanding windows section, as the user should also be conscious of what they are doing when working with expanding wnidows, same as with rolling ones.

Also cleaned up a bit. Bessel-adjusted sample standard deviation is a tautology. All sample estimates of variance are Bessel-adjusted for degrees of freedom.
Numpy dev pipeline is failing tests. Appears to be because of dev cython version and was reported in #33507 .
@mroeschke @jreback 
All comments addressed, all green.
Okay, moving on to the next function.

@jreback, can we merge this PR?
thanks!