Add new validation framework.  Use it.

Change-Id: I73de0b9d351c82d95981fa1a10726c030fd0a847
Reviewed-on: http://gerrit.dmdirc.com/3556
Automatic-Compile: DMDirc Build Manager
Reviewed-by: Chris Smith <chris@dmdirc.com>