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)