scheduler fix for other networks (NOT torus, simplewan)
Torus and simplewan each have problems precluding them from the current scheduling fix: - simplewan - each "device" has N input/output ports. It can't simply tell the scheduler when they are (it is?) idle because the scheduler doesn't know which packets go to which ports - torus - also has N input/output ports (two for each dimension). Also, the same routing "queue" (via the "next_link_available_time" var) is used for incoming and outgoing messages, so we can't guarantee the scheduler that we'll be available at time x (an incoming msg could arrive and then be routed at time x-1). This isn't a problem for the dragonfly network as terminals aren't intermediate routers. Ideally what needs to happen here is for the intermediate packets/chunks to be queued up in the scheduler.