Offline Purchases - Feedback

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.