[WIP] Feedback - basics of implementation

Just putting this out there for some feedback, mainly in terms of the stuff in `lib/core`, what with this being the first time data is coming out of the app rather than just consuming.

Fundamentally there's nothing complicated being done, we're just ferrying a bunch of data across to a mailer, so the repository and interactor have little to them.
Yeah, I considered something like that before but I'm not keen on having a 'special' id, or having an ID just for the sake of it.

We have the same situation with ``SearchResultCollection`` though that maybe now could be moved to ``/domain``.