Introducing workers

This PR contains a number of pieces of work
- Adding sidekiq
- Renaming ManualServiceRegistry to OrganisationalManualServiceRegistry
- Introduce a Publishing Workers Layer to abstract workers from the controller which in turn can call the   services and perform them asynchronously.

I think it's poor naming, we normally refer to "worker processes" and it doesn't really have any meaning to the application. I think "asynchronous" is much less ambiguous.