More work on driver restarting
Coordinator.java:
-renamed scheduleWakeup() to scheduleRestart() to reflect the nature of the wake
-moved driver restarting to a seperate method
-fixed a bug where incoming messages routed to a terminated driver would trigger an IllegalThreadStateException
-added shutdown hook to notify drivers that the service is going down.