Fixes #5648 - Match the DHCP specification of last-lease-wins

(cherry picked from commit 2080b2eb85162c76e0edf2e4630a0f9a3a23b494)
Fixes #5739 - Only look at reservations when deleting a DHCP record

(cherry picked from commit ad2b4651b4b759f6c4c8454acf852cc541f2ec69)
fixes #5677 - handle booleans from settings.yml as bools

(cherry picked from commit 79699411b6b7089739f78975194162a754bc30e9)
Fixes #5907 - Look at all records when suggesting IPs

(cherry picked from commit ee9b08d01ead2c7e13bd54186fd02cc22392fb6f)
fixes #5856 - use public initializer for Puppet settings

(cherry picked from commit 1dc369d4297c5b9a8106d8908ebac6a8ccfa7437)
Fixes #5712: Limit DHCP subnets for ISC if necessary

(cherry picked from commit cabb60bced3d0f255721401f25c0cc792d9019a0)
Fixes #6086 - stop remote command execution and path exploit in TFTP API (CVE-2014-0007)

(cherry picked from commit 854ab5573df152fd20b2be5547a08b4862fb78fe)
Release 1.5.1
fixes #5675 - expect dns_key setting to be nil if not set

(cherry picked from commit 62c7320bbdedeb3d983addc1f78d8fe20b0d6f71)
Fixes #6396: an error removing a DHCP record (record doesn't exist) stops the delete process for a host

(cherry picked from commit 67bfd9a09741726cf7fa7c330b897b372a903d31)
Fixes #6412: Trying to remove a DHCP record fails due to an invalid subnet check

(cherry picked from commit 57ea7e82f68395c61ab0515ea331423c9f4ac5ea)
fixes #4699 - support Puppet environments API for directory envs

(cherry picked from commit 16db7a9c74abfba21b65d9f0e9a05096c3c7f8fb)
Fixes #6790: Restrict ci_reporter gem to less than 2.0.0 to fix CI.

(cherry picked from commit 0e616f1b0be11f51f19d08e407fa987b3ea5abc7)
Release 1.5.2