Changes between V1.0.1 and V1.0.2

	+ Increase the size of the critical section in the function that obtains a
	  private port number.
	+ Add defaults for more trace macros.

Changes between V1.0.0 and V1.0.1

	+ Set the broadcast flag in DHCP messages.
	+ Improve the DHCP standards compliance.
	+ Correct the check used to ensure the network event hook is not called for
	  the first network down event (which is generated by the stack itself).
	+ Allow sockets to be added to a set when they already have packets queued
	  waiting to be processed.

Changes between V1.0.0 and V1.0.0

	+ Add select() function.

Changes between V1.0.0rc1 and V1.0.0:

	+ Correct name of prvCompleteUDPHeader().
	+ Ensure network down events cannot be missed when the network event queue 
	  to which they are posted is full.
	+ Only start the ARP timer when the network has connected.
	+ Remove initialisation call to the DHCP state machine - the call is made 
	  directly when the network connects.
	+ Add the network event queue and the BufferAllocation_2.c counting 
	  semaphore to the queue registry.
	+ Only initialise the DMA buffers in the lpc18xx_emac.c driver if the 
	  autonegotiation was successful.
	  
	Known issues in this version:
	
	+ DHCP server attempts to copy the IP addresses of all the offered DNS
	  servers into a buffer than can only hold one address.
	  
	  
