Overhaul DHCP check to handle broadcast, and do unicast as a dhcp relay

Changed the check to use broadcast as the default, making it server agnostic.

Updated the 'server' code to act like a dhcp relay agent, since some dhcp servers don't seem to like 'direct' unicast requests from clients.

Added a 'debug' option to show the contents of DHCP messages.