Revamping disconnect:
1  xio_disconnect is now used only to initiate the disconnection of
   live connections
2. xio_connection_destroy is used to destroy the connection including
   the connection internal resources. this function shall be called by the
   user when all of the connection's resources are no longer in use, and
   after the library triggred "connection teardown" event.

motivation:
on server side, upon unexpected disconnection, the connection resources that
were at that time in use with the application, could theoretically released
under the hood, by the library. from now on the server side should call
explictly xio_connection_destroy to release the connection and its resources.

Signed-off-by: Eyal Salomon <esalomon@mellanox.com>