Make FairQueue's empty() work properly for input queues which may have been pushed to without the fair queue knowing about it.  An early exit is available for efficiently returning false if there are queues with items that are known to be available because their finish times have already been computed.
Make FairQueue's empty() work properly for input queues which may have been pushed to without the fair queue knowing about it.  An early exit is available for efficiently returning false if there are queues with items that are known to be available because their finish times have already been computed.

sirikata/sirikata,sirikata/sirikata,sirikata/sirikata,sirikata/sirikata,sirikata/sirikata,sirikata/sirikata,sirikata/sirikata,sirikata/sirikata