How "views" work in Citadel (beginning with v6.00)
--------------------------------------------------
 
 There's no need to be rigid and stupid about how different rooms are presented
in a Citadel client.  And we don't enforce things either.  But there's a need
to make things look the way the user wants to see them.  For example, we might
always choose to see a room full of private mail as a summary (one line per
message) rather than always dumping out the entire contents like we do on a
typical message room.  An address book room might look better as a tabbed view
or something, rather than as a bunch of messages with vCards attached to them.

 This is why we define "views" for a room.  It gives the client software a
hint as to how to display the contents of a room.  This is kept on a per-user
basis by storing it in the 'visit' record for a particular room/user
combination.  It is visit.v_view and is an integer.  Naturally, there also
needs to be a default, for users who have never visited the room before.  This
is in the room record as room.QRdefaultview (and is also an integer).
 
 In recent versions of Citadel, the view for a room also defines when and how
it is indexed.  For example, mailboxes and bulletin boards don't need to have
an euid index, but address books and calendars do.
 
 The values currently defined are:

#define	VIEW_BBS		0	/* Bulletin board view */
#define VIEW_MAILBOX		1	/* Mailbox summary */
#define VIEW_ADDRESSBOOK	2	/* Address book view */
#define VIEW_CALENDAR		3	/* Calendar view */
#define VIEW_TASKS		4	/* Tasks view */
#define VIEW_NOTES		5	/* Notes view */
#define VIEW_WIKI		6	/* Wiki view */

