[WIP] Implementing Averaged SGD

Working on implementing averaged SGD for both classifier and regressor for #543
Alex and I were just talking and decided that because average is still not directly tied in to step_size we may end up with an implementation with 2 parameters "average" and "step_size_function", where step_size_function is in {"adagrad", "adadelta", "optimal", ...}.