Initialize install path before JS/CSS copy.
Write `which yui-compressor` to /dev/null.

(/dev/null was not opened for writing, which fails on
some Python versions.)
Part 1 of #61: Handle a room eviction.

The client now reacts properly to an unavailable presence
of type 301 (ban) as well as 307 (kick). A message is generated,
and if the logged-in user is banned, the client enters prejoin
mode.
Part 2 of #61: Error joining room while banned.

When a <forbidden/> presence is returned, the join request
is canceled. The room selection menu is reset to its previous
state.

Fixes #61.