Remove check_allrouters_membership()

There are several reason why this function should be gone:

* It was only needed on Linux, but there we have netlink to get notified when an
  interface went down and up again (with the latest and upcoming netlink changes
  there is no reason to disable netlink any more)
* It parsed a file in /proc/net
* It didn't do what it was supposed to (it only checked it there was any ff02::2
  membership, not if our own socket was member)
Remove disablenetlink option

By not reloading the config file with every netlink message, we've significantly
reduced the load generated by netlink handling, and relying on netlink allows us
to avoid polling the interface state on every packet sent (we'll continue doing
so on BSD where we don't have netlink)
Don't call update_device_info at the beginning of send_ra when we have netlink

Add a function ensure_iface_setup that tries to resetup an interface unless we
have netlink, and returns the ready state after that.
Process netlink messages first, then other input
Remove out of date TODO comment in setup_linklocal_addr

if_index is set in update_device_info now.
netlink: add RTMGRP_IPV6_IFADDR to netlink filter to receive RTM_NEWADDR events
Rename config_interfaces back to config_interface and change it and kickoff_adverts to work with a single interface instead of the whole list
netlink: don't handle RTM_NEWADDR together with the other events

The data of a RTM_NEWADDR is a ifaddrmsg, not a ifinfomsg.
netlink: ensure ifname is NULL when if_indextoname fails

Otherwise the debug messages will contain the wrong interface name instead of
(null) when the interface has disappered.
netlink: add RTM_NEWADDR handling code (currently disabled)
narrowing the scope of a variable in netlink.c