PHP-1155: Fix reverting to default timeout and don't swap unnecessarily

This ensures that we do not leave the stream in an inconsistent state after applying a temporary timeout value in php_mongo_io_stream_read(). Also, if the runtime timeout is equivalent to the existing value (e.g. two negative values), there is no need to swap.