When comparing nicknames, user .lower()
Move controller to automatron.controller.

This is the first phase in separating the controller from the plugin backend. There have been changes in all plugins and they'll change again in the future.
Split EventManager from PluginManager
Move parse_user out of client.

And into core.util.
Use new client action events.
Client no longer adds itself as an event argument.

Instead, a dictionary with server info is added. This is to make the event data JSON encodable.
Separate plugin backend from main controller.
Use proxy methods from BackendController.