[WIP] Adding Implementation of SAG

An implementation of SAG for #3805
TODO list:
* ~~Make correct 'auto' eta0 implementation (what should be the Lipschitz Constant for regressor vs. classifier)~~
* ~~Make test pass for checking infinity or NaN in weights~~
* ~~Add doc string for Classifier~~
* ~~remove dependency on BaseSGD?~~
* ~~enable coef init and intercept init~~
* ~~allow for warm starting~~
* ~~find difference between sparse and standard implementations~~
* ~~figure out way to duplicate c seeding for test~~
* ~~add support for class weighting~~
* ~~get doctests to pass~~
* ~~get all other tests to pass~~
* ~~make it work if there is only one class present~~
* ~~add pickling~~
* ~~add sparse decay~~
@agramfort Could you take a look at 25-27 in particular? This is a way to get around python 2.6 and 2.7 pickle not being able to work with instance methods. I think this should work but wasn't 100% sure. Let me know if anything really sticks out at you as glaringly wrong.