CA-137990: allow ring disconnection with pending requests

This patch series allows the ring to be disconnected even if there are pending requests. This allows the front-end to re-open the ring at will without having to take care of cleaning up its pending requests. This is especially important for the Windows front-end that receives the reset signal quite often when I/O is slow.  Although this behaviour seems to be the front-end's responsibility, we choose to fix this at the back-end, as it is far simpler to do so.

After a ring with pending requests has been disconnected, when these requests complete at the back-end with an error that will be ignored and such requests won't be retried.
Is the additional !_blkif->dead reqd? _cond already has that. We could leave it here and remove it from the call above in tapdisk_xenblkif_find but then this is also called from xenio_pending_blkif. Do we want that call to ignore dead blkifs too? I am not sure, but something to think about.