Save best and holdout validation for --oaa, etc

Another issue related to holdout came up. Can you make all the single example reductions {oaa, ect, cb, csoaa but not csoaa-ldf, wap but not wap-ldf} use a holdout as well?

John, I have not finished this yet. 

I just updated code for gd and bfgs, the major revision was to move the accumulation of validation loss to simple_label.cc (output_simple_example), so that higher level reductions do not count these losses multiple times, as the accumulation was originally done within gd.learn. As gd and bfgs calls functions in simple_label.cc, codes therein are updated.

I just finished make it work for --oaa and --etc (as well as fixing a bug when --adaptive is off, in which case a wrong ec->example_t is assigned to a local variable for updating weights ).

I pull this request so you can take a look at the change for gd and bfgs, as well as the implementation for --oaa when you have time. If the latter seems ok,  I believe it is similar for other reductions (I'll continue working on them today).