ENH: All args and kwargs to generic expanding/rolling apply.
Been bugging me lately. Simple enough fix I think. Example usage

```
def mean(x, const):
    return np.mean(x) + const

df = pd.DataFrame(np.random.rand(20, 3))
pd.expanding_apply(df, mean, args=(20,)

pd.expanding_apply(df, mean, kwargs=dict(const=20))
```

sure
 Fixed failing tests. Maybe hack-ish.
 this loooks indepedent of #5071 yes?
 Yeah, I didn't find an open issue for this. 
 not sure of the test coverage here; but are their any tests for a function which doesn't take any arguments? (e.g. does it still work)? I assume cython raises some kind of error if the function take args but they are not supplied?
 Yeah, it will raise. That's why I added the args=(), kwargs={} to the Python signatures, so that there are always defaults. AFAIK, the Cython function isn't used outside of the wrappers in moments.py, so it should be enough to ensure that the wrapper functions always call algos.roll_generic with some default args.
 merged via https://github.com/pydata/pandas/commit/1e9c0a630db9b316edfaa86ad7b8f34f5d462b89

thanks!
