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
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.