Ticket 49171 - Nunc Stans incorrectly reports a timeout
Bug Description: In some cases nunc-stans would incorrectly report
and IO timeout.
Fix Description: Make the io output type volatile to prevent re-arranging
of the code. We then make timeout exclusive to read, write and signal.
Finally, we add an extra check into ns_handle_pr_read_ready that
asserts we truly have an idle timeout. It issues a warning now
instead if this scenario occurs, rather than closing the
connection.
https://pagure.io/389-ds-base/issue/49171
Author: wibrown
Review by: mreynolds (thanks!)