Feature/optimizedmatrix - One Column + graph propagation, L2 normalization, (A*B)+C optimization

right-propagation of a row not present - would that need to be in a special case class and override propagate?

For the test case - https://github.com/tomtau/scalding/issues/18
Shall I "emulate" it in Matrix2OptimizationTest with an empty pipe with a set k (or random?) as optimize((G * G * G ...).propagate(V)) should be Product(Product... ?

other added things:
+ a simple row L2 normalization
+ (A*B) + C with two map/reduce ops optimization