Trac3357

Follow Marcin's proposal to update Pkt4o6:
  Make Pkt4o6 class derive from Pkt4
  Create the static Pkt4o6::fromPkt6(Pkt6Ptr) as a factory creating the Pkt4o6Ptr
  Extend the Pkt4o6::pack so as it stores the message in the buffer (using Pkt4::pack()), plus it stores the ancillary data. (Make Pkt4::pack() as virtual method)
  Extend the Pkt4o6::unpack so as it can read the ancillary data and parse the DHCPv4 message (using Pkt4::unpack). (Make Pkt4::unpack() as virtual method)
  Create a Pkt4o6::toPkt6 function which would use the DHCPv4 message encapsulated in the !Pkt4o6 and the ancillary data to create a DHCPv6-reply message. 

Currently DHCPv6 relay is not supported. Because Pkt6 is not passed between DHCPv4/DHCPv6 servers, relay_info_ (array of RelayInfo) and all D6O_INTERFACE_ID option need to be added into ancillary data and passed between DHCPv4/DHCPv6 servers.