DHCP4 changes (bnc#866994)

Randomize DHCP4 startup delay as suggested in RFC2131
Handle DHCP4 start-delay (DHCLIENT_SLEEP)
Handle DHCP4 defer-timeout (DHCLIENT_WAIT_AT_BOOT)
Clear DHCP4 fsm.timer in timeout callback
Remove fsm state change from ni_dhcp4_device_drop_lease
Replace if lists with switch to catch all DHCP4 states
Convert DHCP4 fsm state to enum to catch all states
Add ni_debug_timer calls
Use ni_debug_timer instead of ni_debug_socket
Add ni_debug_timer to trace internal timer
Use ni_log_facility instead of referencing ni_debug
Release DHCP4 lease only if DHCLIENT_RELEASE_BEFORE_QUIT is set
Return correct timer in __ni_timer_disarm