Better disconnect handling

Basically, rather than adding divs on top of divs, which are then replaced with multiple copies of the schedule info with various overlapping timeouts and intervals, simplify the logic a little bit and allow each request to time out before doing anything else.