ISSUE : Services like DNS, ICMP not working in vmware

FIX :
  1. The vlan-id was over-written by ether-type in ProtoHandler::EthHdr
  2. vlan-id was stored in host-order inside the packet
  3. Modify the following packet forming functions to add VLAN header when
     outgoing interface has vlan-enabled
     ArpHandler::ArpHdr
     DhcpHandler::FillDhcpResponse
     DhcpHandler::CreateRelayPacket
     DhcpHandler::CreateRelayResponsePacket
     IcmpHandler::SendResponse
  4. Fix compilation error in test_route.cc
  5. Fix memory leak in instance_service_test
  6. When adding DHCP Option-82 the length of options was returned as 0.
     This resulted in truncated DHCP packet. Fix DhcpHandler::WriteOption82
     to update dhcp-options correctly
  7. Set the smac_ in message to vrouter only in case of VCenter

UNIT TESTS :
   (PktTest, tx_no_vlan_1) : Verify EthHdr doesnt insert VLAN header when
   outgoing interface is not VLAN enabled

   (PktTest, tx_vlan_1) : Verify EthHdr inserts VLAN header when outgoing
    interface is VLAN enabled.

   The protocol packet format are already verified by existing tests

BUG:#1381176
Change-Id: Ida3c78308ddfa9ca6e7beeed24d851fad62d3823
Merge "ISSUE : Services like DNS, ICMP not working in vmware"