Keep the interface address order returned by the OS
#17027 (moved) unintentionally reorders interface addresses, by using SMARTLIST_DEL_CURRENT() in get_interface_address6_list() to delete unsuitable addresses, rather than SMARTLIST_DEL_CURRENT_KEEPORDER().
This makes address selection unstable, because it depends on not only the exact order in which the OS returns addresses, but the exact number of unsuitable addresses as well.