Create all actions through a factory.

This will make it easier to modify actions to have their
dependencies passed in, and be less generally horrible.

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