[3588] Implemented CfgOptionDef class to represent user-defined option defs
[3588] Return pointer to the RW option definition configs, not a reference.
[3588] Removed the setCfgOptionDef modifier.

The modifications to the staging configuration are performed on the pointer
returned by getCfgOptionDef.
[3546] Pkt class added.
[3546] Missing pkt.cc added, several more methods moved.
[master] Thanks added to ChangeLog
[3588] Addressed review comments.
[3546] More stuff moved from Pkt{4,6} to Pkt
[master] Merge branch 'trac3588'
[3546] Initial version of Pkt::getMAC() method implemented.
[3546] hw_type in HWAddr class is now 16 bits long.
[3546] MAC_SOURCE_* values are now a bitmask
[3546] Changes after review
[3546] Changes after review:

 - Pkt4, Pkt6 classes now have descriptions
 - Many descriptions updated in Pkt class
 - Pkt::addOption() moved back to Pkt (from Pkt6)
 - DEFAULT_ADDRESS{,6} are now in private namespace.
 - copyright updated
[3546] Pkt6::unpack now handles problems with exceptions, not return false
[3546] Corrected a typo.
[3546] Another changes after review:

 - (offset - 4) explained better
 - Modified Dhcpv6Srv::unpackOptions()
 - setHWAddrMember() mac_addr renamed (this time for real)
 - Commented out unused variables
 - RelayInfo now uses DEFAULT_ADDRESS6 in ctor
 - LibDHCP::unpackOptions6 and callback now used uniformly
 - Clarified that ERO is Echo Request Option (RFC4994)
 - unpackOptions4 in libdhcp and Dhcp4Srv no longer throw when
   truncated option is received.
[3546] Yet another review changes:

 - duplicate warning removed.
 - unpackVendorOptions4 now returns proper offset when option is truncated
[3546] (hopefully) last changes after review:

 - clarified that returned offset refers to last successfully parsed option
 - unpackOptions6() now returns proper offset if vendor-option is truncated
[master] typo fixed in dhcpv4 option name with code 38, tcp-keepalive-interval