[WIP] Implementing Averaged SGD

Working on implementing averaged SGD for both classifier and regressor for #543
As far as I understand, removing this is changing the behavior of the regular (non-averaged SGD) when `learning_rate='optimal'`. What is the motivation behind this behavioral change? It is not even document in whats new.