ifup: Add wickedd state signal handler
client: Set WAIT_FOR_INTERFACES from compat
nanny: Check the subordinate device state

Upon each state discovery (after FSM run) check which
devices failed and removed them from recheck list.
They might be hotplug device or failed ifworkers,
so reset them for the next run.
ifup: Separate match generation from the hire
ifup: hire nanny on all children ifworkers
policy: Match name against existing devices
nanny: Destroy ifworkers of removed policy
ifup: Add ni_ifup_start_policies() for cleanup
Revert "server: no unrequested device-ready events (bnc#871135)"

This reverts commit f44606d1678d2a7411b7b27c20fa166214a8ce02.
fsm: Update workers name if device has been renamed
nanny: Do not reset workers upon configuration
fsm: Add ni_ifworker_is_factory_device() function

This function is supposed to tell whether ifworker
reflects factory device not created yet.
fsm: Make ni_ifworker_complete() funtion external
nanny: Do not reset device upon completion
nanny: ni_nanny_discover_state() checks initial state

This function performs initial refresh and sets initial state.
nanny: Change main loop logic to handle all signals

We perform constant recheck until all ifworkers are satisfied
and all async FSM related events are handled.
nanny: Create new device on DEVICE_READY event
nanny: Factory device handling by nanny

- Perform ni_fsm_build_hierarchy() only upon
  new ifworker arrival
- Do not destroy recheck array each time
- Clean recheck upon device delete event
- Schedule non-existing factory devices
nanny: do not remove worker on delete policy
nanny: clean selected policy on policy delete