Improve code quality a bit

CodeClimate had some things to say about a couple of methods.

I added tests for them, and tried to fix some of the issues.

* The mailer (Notifier) now actually has tests.
* The mailer got a major refactoring.
* Purchase.payable_grouped_by_person now has tests, and is a bit less messy.
It might be sufficient to check for certain keywords, or a smaller part of this sentence. Currently this test is highly coupled to the exact copy. Thoughts? This applies to the other tests in this file too.