'Spills/unspills paths, in-place.'

def spill(self):

    (new_active, new_spilled) = self.spill_paths(self.active, self.spilled)
    num_suspended = 0
    num_resumed = 0
    for p in new_active:
        if (p in self.spilled):
            num_resumed += 1
    for p in new_spilled:
        if (p in self.active):
            num_suspended += 1
            self.suspend_path(p)
    l.debug('resumed    %d    and    suspended    %d', num_resumed, num_suspended)
    (self.active, self.spilled) = (new_active, new_spilled)
