First commit for the DhcpProfiles table

This patch introduces a DhcpProfiles table, which is meant to hold
reusable DHCP configuration. A 'profile' may be used for several
interfaces that are configured with dhcp.

It also introduces a key/value table to store dhcp protocol timing
configuration (which is common across all interfaces).

TODO:
* interface should validate dhcp_profile_id when setup to use dhcp
* dhcp profile should support append/prepend/supersede of DNS resolvers
* more UT for global timing options table