A description of the network protocol

The protocol is line based, that is the daemon should read until it recieves
a newline, at which point it should process that line. The connection should
remain open so the client can recieve status updates, and the server should
be prepared to recieve more commands.

Each server message is prefixed by a 3 digit number that indicates the type
of message the server is sending.

Available commands:
hello <port>	Introduce ourself to the server, and let it know we're ready
		to recieve status updates to our IP on the specified UDP port.

add <file>	Add one or more songs to the playlist. Filenames should be HTTP 
		encoded, seperated by spaces. A single wildcard character is
		defined, '*', which can only be used at the end of the string.
		EG, "play /artist/album/*" which will play all the songs in
		that directory.

play		Start playback

stop		Stop playback

pause		Toggle pause

randomize	Randomize the playlist

sort		Sort the playlist by alphabetical order

jump <frame>	Jump to a specific frame

list [dir]	List available mp3s in [dir]

playlist	Show the playlist

next		Goto the next song

help		Get some help

quit		Disconnect from the server

Result codes:

100-199:    Server status (TCP)

	100	Server normal, ready for request
	101	Server shutting down

200-299:    Request was successful (TCP)

	200	Song added to playlist
	201	Playlist randomized
	202	Playlist sorted
	203	File list coming
	204	End of file list
	205	Playlist coming
	206	End of Playlist
	207	Jumping to frame
	208	Next mp3 playing
	209	Starting Playback
	210	Stopping Playback
	211	Pausing Playback
	212	Help Start
	213	Help End

300-399:    Status Messages (UDP)

	301	Media Stopped
	302	Media Playing
	303	Media Paused

400-499:    Client error (TCP)

	400	Unknown command
	401	Playing stopped
	402	Illegal request
	403	User Close

500-599:    Server error (TCP)

	500	Unknown Error
	501	Playlist Empty
