Add a blocksparse multiplication implementation

This is a first step, it may still need more work.
This should not be the final interface.  Unless no other cases are needed.