At present anything requesting the global config has to depend on
ClientModule, which won't necessarily be exposed through the API.
Move @GlobalConfig, @AddonConfig and @UserConfig to top level
classes in API, and provide both versions of them for now.
This shouldn't be exposed. Internal classes switch to using
the full class rather than the interface, so they can carry
on accessing the removed methods.
This is for the interfaces/trivial implementation classes that
DMDirc plugins can interact with. Eventually plugins will build
against the API instead of the DMDirc client itself, which will
allow for remote/detachable clients (amongst other things).