Improving checkout

Validate cart on checkout, some more error handling