Remove functional tests in favour of unit tests

- [x] Update managers so they accept repository classes directly
- [x] Update the managers so they accept an `EntityManager` instance rather than a `Registry` instance
- [x] Rewrite Form tests to utilise the [testing approach outlined here](http://symfony.com/doc/current/cookbook/form/unit_testing.html#the-basics) rather than using functional tests
- [x] Add `Controller` directories to phpunit.xml exclude
- [x] Remove functional tests that attempt to test forms
- [x] Bring test coverage back to 75%

This PR started as a refactor of how the custom entity manager classes expect the repositories to be provided, but is really an overhaul of our testing approach.

Instead of relying heavily on functional tests, this PR aims to focus on unit testing with the correct usage of mocks.