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: extended unicast code to support IPv6 unicast_src_ip

Add support to unicast IPv6 address for {unicast,mcast}_src_ip keyword. vrrp
instance saddr is now a sockaddr_storage and src IPv6 address is set
using cmsg ancillary data pktinfo. TSource IP address selection is now generic
and can be IPv4 or IPv6.
vrrp: VMAC cosmetics, remove unneeded vmac_ifindex

Small cosmetic removing vrrp->vmac_ifindex... it is already accessible by
IF_INDEX(vrrp->ifp) so there is no need to store this index, we are already
storing interface pointer.
vrrp: fix vrrp socket sync while leaving FAULT state

Well, this is a very, VERY old bug here. while leaving FAULT state
VRRP framework refresh instance socket fd_in & fd_out and synchronize
all VRRP instance bound to the same socket. The patch refresh socket,
it also refresh fd hashing ! which better for later fault handling :)
vrrp: fix virtual_routes using default & default6

Previous inclusion was just not working.