Since I never implemented a proper solution, put it back to something that
at least works for now.  Once I add more event queues, I'll have to really
fix this though
 void
 Event::unserialize(Checkpoint *cp, const string §ion)
 {
-    assert(!scheduled() && "we used to deschedule these events");
+    if (scheduled())
+        mainEventQueue.deschedule(this);
 
     UNSERIALIZE_SCALAR(_when);
     UNSERIALIZE_SCALAR(_priority);
 
     if (wasScheduled) {
         DPRINTF(Config, "rescheduling at %d\n", _when);
-        panic("need to figure out how to unserialize scheduled events");
-        //schedule(_when);
+        mainEventQueue.schedule(this, _when);
     }
 }