It doesn't make sense to have a public method in Connection to
muddle around with how queries are tracked, nor for queries to
tell servers when they change (creating a dependency loop).
Instead, have the ServerEventHandler tell Server.
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.