split xio_conn_release

Split xio_conn_release functionality to two API
the xio_conn_release_cb which can be called from
xio_conn_release or can be scheduled for delayed execution.
The original xio_conn_release calls the new API and can
try to cancel possible delatey schedule of xio_conn_release_cb.
There is no point in trying to cancel scheduled execution from
the scheduled callback.

Signed-off-by: Shlomo Pongratz <shlomop@mellanox.com>