Reapply 4aea545d

I accidentally dropped all changes from the previous commit in a borked
merge.  Reapplying here.
Raise keyed validation error in address

This is so that the postcode validation error is rendered next to the
postcode form field.  It doesn't actually work in Django 1.5 but will
start working in Django 1.6.  It is backwards compatible.
Adjust how shipping methods are loaded for checkout

The loading of a shipping method instance in the session wrapper is
deprecated.  Better to only marshall session data there.