Disallow empty interface names

They're bound to cause problems later.
Fix a typo in a comment
Factor out RFC 7217 code into common file
Add rdiscd-mkaddress, a tool for generating an IPv6 address

It uses the same logic to generate an addresses as rdiscd, and takes
similar command line arguments.

Example usage to generate a stable privacy address for a host on the
given prefix with the given MAC address:

	rdiscd-mkaddress -k /etc/rdiscd.key -m 00:53:12:92:f3:9a 2001:db8:92e:b51f::/64 stable-privacy