BUG: fix weight handling, fails in some cases, see 987

see #987
if weights were None, then it used the model.weights, which was in some cases the wrong shape or the wrong content.

This is broken for WLS if exog is not None, but weights is None. 
It is also broken for OLS, because weights in OLS has full length. (refactoring ? IIRC it was scalar `1.` before)

This PR fixes the weight handling, but doesn't address the formula support in #987