robust covariance, cov_type in fit

integrating robust covariances into the model fit method, see issue #1418 
summary issue for robust covariances is #1158

continuing after PR #1867
now starting with discrete models to build the generic version



two possible problems using a standalone function, e.g.
`get_robustcov_results(res_olsg_._results, cov_type='HC1', use_self=True)`

 - cache already has content that doesn't get overwritten
 - we cannot call the standalone function with the wrapper. We need access and change the underlying Results instance.

`use_self=True` is only intended for use in a results.__init__ when we can make sure we haven't used the cache yet, and internally we only have the results instance and not the wrapper.
TODO: add `nonrobust` handling in here