WATCH - An advanced Mechinism for notification of signon/signoffs

This is intended to replace the vast amount of bandwidth/CPU eating ISON's

Usage:

WATCH +nick   -  Add nick to watch list
WATCH -nick   -  Remove nick from watch list
WATCH C       -  Clear watch list
WATCH S       -  List everyone in watch list
WATCH L       -  List everyone in watch list and status (On or off)
WATCH l       -  List everyone online in watch list
WATCH         -  Same as WATCH l

Numerics:

005 - If WATCH=num is on the 005 line, upto num watch entries are
supported.

#define RPL_LOGON            600
#define RPL_LOGOFF           601
#define RPL_WATCHOFF         602
#define RPL_WATCHSTAT        603
#define RPL_NOWON            604
#define RPL_NOWOFF           605
#define RPL_WATCHLIST        606
#define RPL_ENDOFWATCHLIST   607

Numeric		USE			Default Format
512		Too many watch		%s :Maximum size for WATCH-list is 128 entries
600		Someone logs on		%s %s %s %d :logged online
601		Someone logs off	%s %s %s %d :logged offline
602		Stopped Watching	%s %s %s %d :stopped watching
603		Watch stats		:You have %d and are on %d WATCH entries
604		User is online		%s %s %s %d :is online
605		User is offline		%s %s %s %d :is offline
606		Watch List Entry	:%s
607		End of watch list	:End of WATCH %c

%s %s %s %d = Nick, user, host, signon time

Example Session
WATCH +Raistwork +Raist123
:glass.oh.us.dal.net 604 Raist_Test Raistwork raistlin raistlin.toledolink.com 942781165 :is online
:glass.oh.us.dal.net 605 Raist_Test Raist123 * * 0 :is offline
WATCH +eaze
:glass.oh.us.dal.net 604 Raist_Test EaZe eaze wse207pub123.bluewin.ch 0 :is online
:glass.oh.us.dal.net 600 Raist_Test Raist123 raistlin raistlin.toledolink.com 942781256 :logged online
:glass.oh.us.dal.net 601 Raist_Test Raist123 raistlin raistlin.toledolink.com 942781256 :logged offline
:glass.oh.us.dal.net 600 Raist_Test Raist123 raistlin raistlin.toledolink.com 942781256 :logged online
WATCH S
:glass.oh.us.dal.net 603 Raist_Test :You have 3 and are on 0 WATCH entries
:glass.oh.us.dal.net 606 Raist_Test :eaze Raist123 Raistwork
:glass.oh.us.dal.net 607 Raist_Test :End of WATCH S
:glass.oh.us.dal.net 601 Raist_Test Raist123 raistlin raistlin.toledolink.com 942781288 :logged offline
WATCH S
:glass.oh.us.dal.net 603 Raist_Test :You have 3 and are on 0 WATCH entries
:glass.oh.us.dal.net 606 Raist_Test :eaze Raist123 Raistwork
:glass.oh.us.dal.net 607 Raist_Test :End of WATCH S
watch L
:glass.oh.us.dal.net 604 Raist_Test EaZe eaze wse207pub123.bluewin.ch 0 :is online
:glass.oh.us.dal.net 605 Raist_Test Raist123 * * 942781288 :is offline
:glass.oh.us.dal.net 604 Raist_Test Raistwork raistlin raistlin.toledolink.com 942774665 :is online
:glass.oh.us.dal.net 607 Raist_Test :End of WATCH L
watch
:glass.oh.us.dal.net 604 Raist_Test EaZe eaze wse207pub123.bluewin.ch 0 :is online
:glass.oh.us.dal.net 604 Raist_Test Raistwork raistlin raistlin.toledolink.com 942774665 :is online
:glass.oh.us.dal.net 607 Raist_Test :End of WATCH l
