Let /join, /who find rooms by title (fixes #21).

/join and /room now first look for a room with
the given ID, then the given title. If none are found,
an error is returned.

(This currently means that /join and /who will
only succeed on rooms that the client already knows
from its last /list command. Ideally, this list should
be updated every time a room cannot be found.)