Make timers in Server more sensible.

Pass in a ScheduledExecutorService and use it for who timers and
reconnect timers.

Only run the who timer when we're connected, not the whole time.
This stops the Server ctor starting a timer.

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