BUGS
----
- logging - bytes send and time listening may both be broken?

FEATURES
--------

- Should icecast automatically (i.e. without needing -c) look for the config
  file in /etc/icecast.xml or something?

- pull out vorbis comments.  and send to stats. This seems to be being
  done, but it isn't working right.

- directory server GUID checks
	directory server does GET /GUID-asldjfasldfjalsdkfjasldkfj HTTP/1.0
	and either gets a 404 if it's wrong, or a 200 if it's correct.

- adding new stats type, event.  events don't modify the global stats tree,
	ie, source /1234.ogg disconnected

- support W3C Extended Logging (http://www.w3.org/TR/WD-logfile.html)
	toggle between this and Apache Combined Log Format in the config file.
	default to apache style.

- allow using get_predata() stuff to send an "intro" to any newly-connected
  user?

- general registerable url-handlers in connection.c rather than hard-coded list
  (already getting unmaintainable)

- httpp - split out query string for further processing

- abstract all admin functionality to a set of commands, and command handlers.
  Make /admin/* just parse according to a set of rules, and dispatch generic
  commands through that.
  Use this for alternative admin interfaces (GUI? telnet interface?)

- all timer-based functionality (yp updates, slave/relay checks) should have a
  single timer thread which dispatches events through the normal event
  mechanism (to worker threads from the main pool). This will reduce the
  extraneous thread count.

- race condition between avl_tree_unlock(pending_tree) and 
  thread_cond_wait(&fserv_cond) in fserv.c, it's a pain to fix but should be.

- do we need to use locks on the avl client_trees in source.c and fserv.c? 

  

