DelayId::operator bool() should account for cache_peer no-delay (#2121)
Without this check, a DelayId::operator bool() caller could incorrectly
limit reading from a cache_peer that has been configured to ignore delay
pools. Luckily, all existing code paths that use this operator checked
the markedAsNoDelay flag, avoiding this problem:
* DelayId::bytesWanted() and DelayId::bytesIn() checked markedAsNoDelay.
* While MemObject::delayRead() itself did not check markedAsNoDelay, the
method is not called when markedAsNoDelay is true. The analysis of the
corresponding code paths is complex, especially for HttpStateData! We
also call expensive mostBytesAllowed() several times on these paths.
Refactoring this code is outside this API safety improvement scope.
This change helps avoid accidental/unwanted read delays during future
code changes.