sd-dhcp-client: only verify UDP messages

RAW messages are verified by the BPF in the kernel.
sd-dhcp-client: drop event DHCP_EVENT_NO_LEASE

Keep this internal to the client and simply restart it when NAK is receieved, as
per the RFC.
dhcp-network: enable IP_FREEBIND for UDP sockets

This allows the sockets to be bound to a specific address before it is configured,
also enable SO_REUSEADDR to allow multiple DHCP clients to run at the same time.
sd-dhcp-client: listen on UDP socket as soon as a lease is acquired

This is necessary in order to listen for FORCERENEW events.
sd-dhcp-client: add support for FORCERENEW

This partially implements RFC3203. Note that we are not fully compliant as we do not
support authentication.
sd-dhcp-server: add forcerenew support
networkd: store ifindex as int
networkd: unify handling of stacked netdevs
networkd: route/address - use trivial hash functions