Set up proper tests
Update tests to catch leftover messages
Fix leaking :'DOWN' message
Add chan API sanity checks