Offline purchases

Opened for feedback because the pull request is starting to get a bit large.

Still needs:

tests
the offline redemption landing page that explains the actions just taken for the just-created OfflineRedemption
All tests are passing at the moment.