Greatly improved the async_file_io_dispatcher_base destructor to detect stuck async_io_ops, print them off and if after a timeout nothing has changed, to exit anyway. This should fix our failing unit tests once and for all, albeit there is obviously a bug in there somewhere which creates stuck ops.