Improved message validation checks and socket error hardening
Server unicast option support
Remove setsockopt error checking
Fix receive rounds end condition
Basic error checking when initializing ra
Fine tune server candidate selection logic

DHCPv6 server info from ADVERTISE messages is inserted in the server
candidate list sorted according to the preference value (highest values
first in the list).
Server candidate list can only contain one entry from a given server.
Server with highest preference value is selected; in case the server
does not respond the next server is selected from the list.
When the server candidate list is empty and no servers responded;
the client restarts the DHCPv6 server discovery process
Fix server candidate selection logic

Flush all server candidates for unbound client in stateless mode
Fix initial server candidate promotion condition
Fix handling of DHCPv6 messages containing option lengths exceeding the message
Fix parsing of Router Advertisement messsages

Router Advertisement message checks according to RFC4861 paragraph 6.1.2
Fix and further improve router advertisement option parsing
Parse Router Advertisement Hop Limit parameter
Revert "Fix parsing of Router Advertisement messsages"

This reverts commit de89d2888d38d1ca6676070584ea6ff9c7dd6f23.
Add ICMPv6 validity check
Revert "Fix handling of DHCPv6 messages containing option lengths exceeding the message"

This reverts commit 26c5d8724355b29694af684ee29b47e52129a33c.
Drop DHCPv6 messages containing invalid option length
Support for SOL_MAX_RT and INF_MAX_RT options (RFC7083)
Merge pull request #9 from dedeckeh/master