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

@afzaledx 
@chrisndodge Kindly review the changes for WL-164.

Thanks
The idea of this story is that if any of the items become stale, they should be removed from the cart.

In this view, we are showing the user his persisting cart. Here, we're just checking if all the courses in the shopping cart are still "enrollable". We enroll the user after he pays for the items. calling .enroll() with the flag would actually enroll the user which we don't want at this point.