cleanup
get this ready for R17
expose custom_connection directly
a sync version of send_message
a way to test a connection
use the timeout pattern for actually opening the connection