Tries to close properly a connection and all channels inside it.
This function close a connection and unref it using vortex_connection_unref.
Because there can be channels created and still working this function will try to close them by executing vortex_channel_close on them. If vortex_channel_close fails for one of them, the vortex_connection_close will be stopped and the connection will not be closed.
Do not call this function twice because a unref operations is performed over the connection if the function returns axl_true. This means after calling this function the connection reference must not be used until a new connection is created. Otherwise a segfault may happen.
If the function receives a null connection reference, it will just return a axl_true value without doing nothing.