Add a factory for creating aliases

Also statically import precondition methods randomly.

Depends-On: I49ec46315f1366d27c12d1b4cc2ac92cd479d46d
Change-Id: I2285d5b886d49841c3e5e6645da14a1c880e6745
Reviewed-on: http://gerrit.dmdirc.com/3535
Automatic-Compile: DMDirc Build Manager
Reviewed-by: Greg Holmes <greg@dmdirc.com>