Refactoring of checkout.class for interaction with other components.

Bugfixes and error checking added to field

Sagepay gateway error checking and low profile option added