Unit tests for non-parametric regression

This is a WIP pull request to add unit tests for the non-parametric regression models ```KernelReg```, ```KernelCensoredReg```, ```SingleIndexModel``` and ```SemiLinear```. Tests will be based on examples given in the documentation for the R ```np``` package.

**New Tests**
```test_semi_parametric_regression.py``` adds two tests which test closeness to a known solution
* TestSemiLinearContinuousRegressionKnown
* TestSingleIndexContinousRegressionKnown

and two tests which mirror R examples

* TestSemiLinearRegressionResults
* TestSingleIndexModelRegressionResults

**Bug Fixes**
* Bug in ```SemiLinear```'s ```fit``` in which parametric component is not added - FIXED
* Bug in ```SemiLinear```'s ```fit``` for predicting new values. Line ```Y = self.endog - np.dot(exog_predict, self.b)[:,None] ``` does not make sense when ```exog_predict``` are new values. - POSSIBLE FIX: exog_predict changed to self.exog.

**To Do**
* Add basic tests for discrete versions of ```SemiLinear```` and ```SingleIndexModel``` - Delay until the fit routines are investigated?
* Add tests for other non-parametric kernel regression - Turns out there are already tests. Maybe make consistent in format in another PR?