first go at reconnect code, still needs work to properly integrate with server to rejoin channels