Much of the nickname handling in ircII is ad-hoc and prone to confusion.
Since many people have asked me for a while to fix it, i am writing down
here the plans i have to fix how nicknames are handled.

The current global variable "nickname" will be retained as a global
default.  All new server refnums will use this global default as their
initial nickname.

Each server will maintain three nicknames:

	d_nickname -- This is the "default" for this server.  This is 
		set ONCE, when then the server is first created.
		Whenever this server's connection is re-established,
		this is the nickname that will be used.  It is reset
		any time the user uses the /NICK command.  It is also
		reset any time the user's nickname has been established.
		This member is always set to something.

	s_nickname -- This is the "pending" nickname for the server.
		This is set when the user attempts to change nickname
		through the /NICK command, or when a nick collision
		occurs.  This member is mutually exclusive with the
		"nickname" member.  Whenever the user recieves a
		"Invalid Nickname" or "Nickname is in use", if this
		member is set, it will be used as the basis for any
		fudging.  If this member is unset, "nickname" will
		be used as a starting value.  If this member is set,
		then a NICK command is still pending.

	nickname -- This is the "official" nickname for the server.
		This is set when we either get a NICK reply back from
		the server for ourselves, or when we recieve the 004
		numeric.  This member must *always* remain correct,
		so that we can determine when the NICK reply comes
		back.  Otherwise, once the current nick is lost, all
		hope is gone.  If this member is set, and s_nickname
		is also set, then that means a NICK command is pending,
		and we are waiting for the reply.

