fixes #6275 - idempotence needs clone of original data and to handle *_port
Fixes #6396: an error removing a DHCP record (record doesn't exist) stops the delete process for a host
Fixes #6412: Trying to remove a DHCP record fails due to an invalid subnet check
fixes #6583 - Use Enumerable#find instead of each where possible
fixes #6584 - Replace Kernel#open with File.open
fixes #6585 - Update Proxy::Util::CommandTask to handle Ruby 1.8 and 1.9+

In this update, use 'true' and 'false' to test $? return codes 0 and 1, respectively.
In Ruby 1.8.x, the return code from Open3.popen3 is always 0, some errors will not be caught.
fixes #6588 - don't load user settings when testing default settings
fixes #6661: trailing slash is not required in urls
fixes #6700 - tests for Proxy::Puppet::Runner shell methods
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 #6772: added support for testing of plugins
Fixes #6790: Restrict ci_reporter gem to less than 2.0.0 to fix CI.
fixes #6908 - update request tests for latest Chef release
Merge pull request #194 from domcleal/6908-request-tests

fixes #6908 - update request tests for latest Chef release
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
fixes #6522 - move request code out of chef module

The patch also moves foreman_ssl_ca, foreman_ssl_cert and
foreman_ssl_key config options from Chef plugin config to global config
and adds fallback to the ssl_* options if these are not defined.