Stop swimming against the tide and accept what most of the rest of
the world does.
While it adds an annoying depth to the actual source code, it makes
the root directory nicer (no more 'test-res' dirs), means we don't
have to override the gradle config, and makes it nicer to work in
IDEA 2016.1.
In preparation for child eventbusses being removed, anything
trying to subscribe to specific windows now needs an explicit
check.
In the process, fixed two issues:
- channel who plugin was sending way too many requests - each
connection was querying every channel in the client. i.e.,
with 5 servers open there'd be 5 WHOs per channel...
- ServerFrame stops itself listening when *any* frame is closed.
So closing a channel window then reconnecting wouldn't offer
an SSL dialog, because it's already unbound the listener.
Issue DMDirc/DMDirc#662