Added Scheduler interface to engine
Slightly re-arranged engine classes
Added a few abstract network interfaces, with client and server network interfaces yet to be added