Make shutdown more responsive when Allocator eats interrupt

When the allocator eats the interrupt, it might turn it into an InterruptException
and poison a slot. The allocator thread would then try to eagerly reallocate that
poisoned slot, thus delaying the shutdown pointlessly.

These changes fixes this. The allocation thread will now skip eager reallocation
if it has been shut down.