Updated checkout to use a 'action' parameter for placing orders.
This allows the preview to accept two types of POST:
1) POSTing from payment-details to submit sensitive data, which gets
re-rendered in the preview template
2) POSTing from preview to submit the orderk
* The views check that the guest email address has been entered.
* The email address is written out against the order.
* An email confirmation is sent to the guest user email address.
Added ability to customise decoration of view functions.
This uses a few new methods in oscar.core.application.Application which
enable custom decorators to be set for given view fns.
The main use case at the moment is to make it easy to ensure that
checkout is not available to non-logged-in users when
OSCAR_ALLOW_ANON_CHECKOUT is set to False.