prejoin room management (fixes #4).

Included:
* A new xmpp state named "prejoin". It contains a subset
  of the "online" state's server commands and shows up as
  "online" in the status icon. When the client enters this
  state, it empties the online list and unsets the room menu.
* A new command named "/part" that calls xmpp to leave the
  current room.
* When xmpp leaves the current room, it sets the state to
  "prejoin" and lists the available rooms.
* When xmpp connects, it prints the available rooms instead
  of trying to rejoin the last room (pending setting).
* When the server 110-acknowledges joining a room, the status
  is set to "online".