Remember the last choice for the top/bottom scheduling boundary in
bidirectional scheduling mode. The top choice should not change if we
schedule at the bottom and vice versa.
In practice however it may change, since we can get slightly weaker
"reasons" out of tryCand when rerunning a pickNode() with less nodes in
the queue because some have been scheduled in the other boundary.
This can lead to slightly different choices but the new choice should be
better since the cached values is from a time when more nodes were in
the queue so we should have an exacter reason.