sd-dhcp6-client: support custom DUIDs

The caller may have an existing DUID that it wants to use, and may
want to use some other DUID generation scheme than systemd's
default DUID-EN.

[tomegun: whitespace - we never use tabs]
sd-dhcp6: support custom DUID's up to the size specified in the RFC
sd-dhcp6: specify the type explicitly when setting custom DUID

This would make it simple to verify that the data is on the right format when
the type is known.
sd-dhcp6: do basic sanity-checking of supplied DUID