Dhcpd changes

Here's all my changes.  Please let me know if there is something you want a better test for, or if you believe I should handle something a different way.  

In the case of 5c81bf4, I think it was mostly eclipsed by 0fdc367.  I wanted to combine patches but they were out of order and other patches later in the list depended on it so I wasn't sure the best way to rebase them out.