Add SGD

SGD Classifier and Regressor added

The default parameters are:

```python
'alpha': [0.000001, 0.00001, 0.0001, 0.001, 0.01], 'penalty': ['l1', 'l2', 'elasticnet']
```
It looks like somewhere around here you're going to want to set `self._model_kwargs['loss']` to either `log` or `modified_huber` for `SGDClassifier`, because getting probabilities is only supported with those loss types, and we typically want the prediction probabilities. It's currently failing unit tests for this reason, as you can see [here](https://travis-ci.org/EducationalTestingService/skll/jobs/27310944).