Fixed some tear down handling of QPs, CM IDs, as well as other components which didn't have their return value propagated properly.
For QPs and CM IDs, the CM ID was improperly removed from the map in case of rdma_disconnect() and rdma_destroy_qp(). Instead, the code now removes the CM_ID only when it is destroyed, and removes the QP from the map upon rdma_destroy_qp().
Fixed some tear down handling of QPs, CM IDs, as well as other components which didn't have their return value propagated properly.
For QPs and CM IDs, the CM ID was improperly removed from the map in case of rdma_disconnect() and rdma_destroy_qp(). Instead, the code now removes the CM_ID only when it is destroyed, and removes the QP from the map upon rdma_destroy_qp().