
AutoStatus reqs:
	from cli:
		currentStatus
			contains "online", "away", "xa", etc.
			At the moment autostatus will update this. That'll probably change.

		currentStatusReason
			contains user-defined text
			At the moment autostatus will update this. That'll probably change.

		debug
			boolean. debug on or off?

		debugdetails
			dict. If "autostatus" is on *and* debug is on then
			debug messages will be printed

		imcom
			a handle to the current IMCom() object
			This req. will probably go away, too ;)

		output( text )
			A way to talk to the user
		
AutoStatus provides:
		AutoStatus( frontend_handle, profile )
			creates an AutoStatus object. The arguments are the same
			as to setProfile() and setParent()

		start()
			once you have all the required variables above set,
			call start() to being idle time checking
			
		setProfile( profile )
			updates LogHandler to the specified profile (as returned from
			Preferences.getProfile( profile_name ) or
			Preferences.getDefaultProfile() )
	
		setParent( frontend_handle )
			Set the frontend currently in use. You should never have to use
			this since it's set in the constructer for LogHandler.

		setIdleTime( minutes )
			override my internal idle time counter

		getIdleTime()
			how long does autostatus think we've been idle?

		statusChange( status, reason )
			notify autostatus of a status change

		kill()
			stop the autostatus thread permanently

		doAutoStatus()
			run the autostatus rules. Note that this command is called
			once a minute (but should be called after every call to 
			setIdleTime() ). Perhaps setIdleTime() should call
			doAutoStatus itself?


