Fixed channel join failure

Not really a fix, but basically, sometimes, when attempting to join a
room, the join would simply fail.  Root cause was my misunderstanding of
how the room id is generated.
Added server selection
Added support for sessionstate messages