Fixes #6689 - Allow nil mac address for TFTP API calls that do not require a MAC
fixes #4699 - support Puppet environments API for directory envs
Fixes #6742 - Add a unit test suite for the DHCP API

This is built around the ISC DHCPD provider, the goal is testing the API layer.
Fixes #6745 - Clean up the params input to the DHCP::Server.addRecord method

This fixes the ability to match and ignore pre-existing identical DHCP records.
Fixes #6744 - Avoid nested arrays and extra array copies in the ISC DHCP config parser
Fixes #6743 - Common code for manage_subnet? in ISC and Native MS