[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.
Our dependencies should point one way:

```
Application         Core
UI -> Controller -> Interactor -> Repository
```

We have introduced an upward dependency on the application from the core:

```
Application         Core                      Application
UI -> Controller -> Interactor -> Repository <- Mailer
```

The repository shouldn't know anything about the application.

We could two things:

1. Contain the mailer as a private object within the Repository.
2. Tell the `Core::RepositoryFeedback::Mailer` repository which mailer to use.