Fix MapExpr#compute_shape right align broadcasting

Fix `MapExpr#compute_shape` to match `spartan/expr/broadcast.py` and
NumPy's broadcasting rules. Operations between matrices with different
shapes will not result in the correct output shape.

E.x. `(5, ) + (5, 1) -> (5, 5)`