Add a blocksparse multiplication implementation

This is a first step, it may still need more work.
Add tests for the grad. To make sure it is good.