sd-dhcp6-client: return NULL from _unref() like the other sd-* libraries

In order to keep the refcounting working, a DONT_DESTROY macro similar
to the one in sd-bus has been added also to DHCPv6.
sd-icmp6-nd: Add function to stop ongoing ICMPv6 discovery

In some use cases stopping an ongoing ICMPv6 discovery is more
useful than always unreferencing the whole structure.
networkd: Properly stop router solicitation and DHCPv6 client

When a link fails or looses carrier, always stop ongoing router
solicitation and any DHCPv6 client that may be running.
sd-dhcp6-client: Add Option Request Option support

Provide a function to request more options from the DHCPv6 server.
Provide a sensible default set at startup and add test basic test
cases for the intended usage.

Define DNS and NTP related option codes and add comments for the
unassigned codes.
sd-dhcp6-lease: Add helper function to compute remaining expiry time

Create a helper function to compute the remaining time in seconds from
time T2 to the IPv6 address with the longest lifetime. The computed
time is used as the Maximum Retransmission Duration in Rebinding state.
See RFC 3315, section 18.1.4. for details.
sd-dhcp6-client: Implement Renew and Rebind

Start sending Renew and Rebind DHCPv6 messages when respective timers T1
and T2 expire. Rebind messages do not include a Server ID option and the
Rebind procedure ends when the last IPv6 address valid lifetime expires,
whereafter the client restarts the address acquisition procedure by
Soliciting for available servers.

See RFC 3315, sections 18.1.3. and 18.1.4. for details.
sd-dhcp6-client: Implement Rapid Commit

Add a Rapid Commit option to Solicit messages and expect a Reply to
be received instead of an Advertise. When receiving a DHCPv6 message
from the server in state Solicit, continue testing whether the
message is a Reply. Ease up the message type checking, it's not fatal
if the message is of a wrong type.

Add helper functions to set/get the rapid commit of a lease. See
RFC 3315, sections 17., 17.1.2., 17.1.4. and 18.1.8.
TODO: Add items for the DHCPv6 implementation