Modifying Chat to keep track of current channels.

The chat model can now determine the full list of channels available to
the user, along with the channels currently entered by the user.
The chat view will only display active tabs.
As part of this, tags were added to requests. This should allow much of
the codebase to be refactored to use these new tags.