[WIP] No more purchase observer

There is a class called PurchaseObserver, which is obscuring what actually happens between some state changes in purchases, emails get sent out, purchases/vouchers get pushed to MAGE, and so on...

I don't like the concept of ActiveRecord::Observer (anymore), so I moved that logic into the controller.

Ultimately, I would like to put the logic somewhere else, perhaps in some kind of service class or so.

This one is mostly done, but I'm waiting for a decision on #124 first. If that one gets merged, I can remove `no-peeping-toms` here as well, and rebase this off of the new master.