Cleaned up a couple of things

Moved some files around for deprecation (and later, factoring out).
Also added a simple event system that will enable me to put all
plugin logic into the plugin internals and remove them from the server APIs.
Additionally it will allow for external functionality extension