Vector: Add liftU2 to Additive

This will make it easier to implement sparse operations.
Vector: Remove now redundant (^+^) and (^-^) implementations

The (^+^) and (^-^) implementations in the Additive instances for
IntMap, Map, and HashMap are now redundant as the general liftU2
operation is provided.
Matrix: Clean up infixl placement
Matrix: Add element-wise addition and subtraction