Add state handling to handler processing

- Use <plugin_dir>/config/HandlerState to manage plugin state
GetHandlerState: default to 'NotInstalled'

- Return 'NotInstalled' rather than None if GetFileContents() returns
None
SLES12 fix for wickedd-dhcp4

- set dhcp_client_name correctly for SLES12
- temporarily turn off the wickedd-dhcp4 service to enable our DHCP
client to obtain wire server endpoint address
Merge pull request #30 from szarkos/SLES12-Wickedd

SLES12 fix for wickedd-dhcp4
Merge remote-tracking branch 'upstream/2.0' into statemachine

* upstream/2.0:
  SLES12 fix for wickedd-dhcp4
Check exit code in launchCommand()
Merge pull request #31 from szarkos/statemachine

Add state handling to handler processing
Fix launchCommand() timeout loop

- Fix timeout loop for new exit code checking
- Misc. logging fixes
Merge remote-tracking branch 'upstream/2.0' into getexitcode

* upstream/2.0:
  SLES12 fix for wickedd-dhcp4
  GetHandlerState: default to 'NotInstalled'
  Add state handling to handler processing
Clarify loop expression
Merge pull request #32 from szarkos/getexitcode

Check exit code in launchCommand()
Add state handling to handler processing

- Use <plugin_dir>/config/HandlerState to manage plugin state
GetHandlerState: default to 'NotInstalled'

- Return 'NotInstalled' rather than None if GetFileContents() returns
None
Check exit code in launchCommand()
Fix launchCommand() timeout loop

- Fix timeout loop for new exit code checking
- Misc. logging fixes
Clarify loop expression
Suppress spurious logging for non-JSON handlers.
Merge remote-tracking branch 'upstream/2.0' into XMLExtensionError
Merge pull request #33 from szarkos/XMLExtensionError

Suppress spurious logging for non-JSON handlers
Merge remote-tracking branch 'upstream/2.0' into freebsd

* upstream/2.0:
  Suppress spurious logging for non-JSON handlers.
  Clarify loop expression
  Fix launchCommand() timeout loop
  Check exit code in launchCommand()
  GetHandlerState: default to 'NotInstalled'
  Add state handling to handler processing
  Clarify loop expression
  Fix launchCommand() timeout loop
  Check exit code in launchCommand()
  SLES12 fix for wickedd-dhcp4
  GetHandlerState: default to 'NotInstalled'
  Add state handling to handler processing