now outer product in a separate class
First implementation, still incomplete, of loop peeling
properly setting the bound of the layout loops
Outer product vectorisation now supports unroll of outer loop