--save_per_pass for Matrix factorization

This saves a model per pass if the option --save_per_pass is on - like gd already does.

I also noticed that eta has been decayed in gd.cc only after the save. If eta was saved it would make more sense to save the updated value so that result of n separate runs is equivalent to --passes n even with decay.