Unpurchased items in the shoppingcart should be removed if the enrollment period has closed

@afzaledx 
@chrisndodge Kindly review the changes for WL-164.

Thanks
if the cart were empty, would this line be called? (are empty query sets falsy?). Probably safer to explicitly check if `cart is None`