This commit makes the Layer3 root_ip determination a little more picky about
the OSPF ID. My initial patch that Oliver committed would blindly accept the
OSPF ID if it was set. Instead, we check if it's actually a route advertised
by the device (in case someone uses OSPF IDs that aren't actually related to
the device), otherwise we fall back to picking the first /32 in the routing
table.