Inject the PluginManager.

Change-Id: Ic5eaf45c19502b4d30db49e8b1b95d91be04fc2a
Reviewed-on: http://gerrit.dmdirc.com/2687
Automatic-Compile: DMDirc Build Manager
Reviewed-by: Greg Holmes <greg@dmdirc.com>
Inject the CommandLoader.

Create a proper LifecycleController implementation that can be
injected, move the interface to the interfaces package, and
then inject the CommandLoader instead of creating it in Main.

Change-Id: I4236b4668301f585544c8c6a9f17c39771290ea5
Reviewed-on: http://gerrit.dmdirc.com/2688
Automatic-Compile: DMDirc Build Manager
Reviewed-by: Greg Holmes <greg@dmdirc.com>
Inject the CommandManager.

Separate out the constructor and initialisation logic in line
with other managers.

Change-Id: Ie5d2f12b838213a6500f0a87e44e56254b8d5916
Reviewed-on: http://gerrit.dmdirc.com/2689
Automatic-Compile: DMDirc Build Manager
Reviewed-by: Greg Holmes <greg@dmdirc.com>
Initialise the IdentityManager in Dagger.

No need for Main to do it - might as well get a fully-initialised
manager when we ask for one.

Change-Id: I55ed29bbc0270a5c610184572e58b0270055e0bc
Reviewed-on: http://gerrit.dmdirc.com/2690
Automatic-Compile: DMDirc Build Manager
Reviewed-by: Greg Holmes <greg@dmdirc.com>
Inject StatusBarManager and MessageSinkManager.

Pass the MSM into Main so it actually gets created, as the few
places that refer to it aren't being inflated by dagger yet.

Change-Id: Ic92f88aac29d4c68fdbc062a582b3e44ecd23637
Reviewed-on: http://gerrit.dmdirc.com/2691
Automatic-Compile: DMDirc Build Manager
Reviewed-by: Greg Holmes <greg@dmdirc.com>