IPv6 send issues

This pull request fixes some issues
* setting Ethertype properly in dual-stack enabled functions 
* correclty caclulate IPv6 payload length field in some dual-stack enabled functions
* align whitespaces

w/o this pull request, **dns_spoof** and **mdns_spoof** plugin was replying incorrect packets so that the resolver can't recognize the reply packet as the answer for the prior sent out query if the DNS query is transported using IPv6.