Networking and Event System infrastructure

Made EventSystem a little more 'thread safe' I think. Also made it more
resilient to change from within. (EventListener list was being modified
by EventListeners and crashing)
Began sending messages from server - client does not receive them as of
yet.