Add a blocksparse multiplication implementation

This is a first step, it may still need more work.
Yes that is currently the case.  I could just transform those to free the memory at the end of the op code and it would work just as well, only a little slower.