[WIP] Refactor of SGD code to use only one call to plain_sgd/average_sgd

This code also makes all methods private and extracts the multiprocessing function into a helper function. Also note that this does not change the functionality of the code at all, it just makes it more clean and maintainable in my opinion. 
It was passed into the ```_partial_fit``` method (see the return statement below) so I decided to take it out of that and put it in the constructor. I suppose the only advantage of it being in the constructor is that the user can change it if he/she really wants to by using ```clf.alpha = .001```. I also took it out to reduce the number of parameters for the ```_partial_fit``` method.