Add a blocksparse multiplication implementation

This is a first step, it may still need more work.
this is equivalent to b[oIdx]? whre oIdx is a list of indices? In that case, this always do a copy, not need to copy it again.