Synchronize channel initialization and lookup

Connection.Channel could (though shouldn't) be called from multiple
goroutines.  This method writes to the channels map, and read from the
reader goroutine so synchronize that including the channel sequence
increment with a RWMutex.

Closes #47