As you might remember, there was a system in the old Genesis where you
could request and receive a limited number of quest-flags in a player.
These flags were then stored in the player and you could easily keep
track of a player's progress in one your quests. The trouble was that
the total amount of bits was limited, in reality you could at most
get around 10 bits in a player. I've introduced a system here that 
is centered around the domains. Every domain has automatically 100
bits available in a player for quest (and suchlike bookkeeping) use.

The bits are grouped into five groups of 20 bits. It's up to you to
decide what you want to use them for. Any domain object (or player)
has the power to affect these bits in a player, so I advice you to 
keep careful notes of what bits you use for what purpose. The command
"bit" will allow you to examine a logged-in player and affect the 100
bits that your domain has available in him. The lfuns are best studied
using the command in wiz_cmd_apprentice.c as an example.

N.B. Do NOT use a bit unless you are really really certain that you want
to use it for a specific purpose. Remember that once used, it's almost
impossible to change the use of a bit since it might be set in a number of
unknown players (no way to erase a certain bit in every player).

So, use them, but also use a bit of afterthought before becoming too
enthusiastic. The bits are not stored unless set in a player. This means
that as soon as you set 1 bit we have to store a group of 20 bits in a
player.

Some hints as to effective use of the bits:

- If you have a complex quest which is solved in stages, you do better
  by reserving say 4 bits and use them as a number 0-15 for fifteen stages
  in the quest, intead of using fifteen separate bits.

- If you have used 1 bit in a group, it does not take more space to use the
  other 19 bits, as these are represented as a single number in the players
  save file. This means that you should use up one group of bits before
  starting with the next.

Actual usage in your code: (see also /std/player/savevars_sec.c)

	player->set_bit(group, bit)
	This sets a given bit in a given group. The euid of the object
	calling is used to decide what domain is relevant. 

	player->clear_bit(group, bit)
	This clears a given bit in a given group. The euid of the object
	calling is used to decide what domain is relevant. 

	player->test_bit(domain, group, bit)
	This tests a given bit in a given group in a given domain.


