core: Use tokenized identifiers when constructing an address

We just add a new address.

TODO: Should we do something about old one? Without NM, kernel just removes it.
Should we deprecate it, or rely on operator deprecating it properly?
build: Check for tokenized identifier support in libnl-route-3
platform: Refresh link cache when IPv6 tokenized identifier changes

Refactor the object comparison logic into a separate function. One from libnm
is not good enough (see comment).

Also, kernel currently won't send notifications on token change, a patch is
needed.
platform: Add support for IPv6 tokenized identifiers on Linux