Cart: Adding inverse method

Returning a new Cart with all quantities negated
Also some general formatting improvements