RFC: Allow configuration of the plugin factory on a per install basis

The plugin factory constructs plugins by working out what the constructor arguments should be given. Currently this is fixed to a few resources like the Builder, a logger, and a swift mailer instance. With this PR it will be possible to add a configuration file that specifies any resource that plugins might need. 

This will mainly be useful for anyone using custom plugins as it will allow them to inject any dependencies needed.