vrrp: unicast_peer addresses and VRRP instance MUST be of the same family

VRRP low-level framework create socket pool based on VRRP instance family. If
you are using unicast_peer, it is mandatory to use addresses of same family as
VRRP instance. You cant mix IPv4 and IPv6 addresses inside same unicast_peer block.
If you need to make it that way, you MUST create a VRRP instance per family,
eg: one with native_ipv6 for v6 unicast_peer and another for v4 unicast_peer.
vrrp: Support xmit VRRP packets from base VMAC interface.

This provides a new option to use in conjunction with the VMAC
functionality which will result in VRRP advertisements being sent and
received over the underlying interface (and therefore having the source
MAC of that interface rather than the created VMAC interface)

With this new functionality enabled, VRRP messages will not affect the
switch MAC address table since the non-unique VMAC address is now used
only for sending a gratuitous ARP, thereby ensuring that in conditions
of VRRP message loss, a probing partner will not inadvertently take over
traffic.

This also resolves issues where VRRP messages are not successfully being
seen on the VMAC interface as with the new option, the underlying
interface is also used to listen out for VRRP messages.

Signed-off-by: Oliver Smith <oliver@8.c.9.b.0.7.4.0.1.0.0.2.ip6.arpa>