Don't do retries if the node is FAILED. FAILED is treated same as DEAD.
https://github.com/openhab/openhab/issues/1606
Update isDead method to be true if DEAD or FAILED.
This provides a single method for determining if the node if not working.
Catch isDead case in WAKEUP class
Update setting node alive
Merge branch 'master' into zwave-failed_node_bug

* master:
  Resolve merge conflicts
  Add exception handling for XML errors.
  Handle receive time, and NEVER received
  Change lastUpdated to lastSent and lastReceived lastUpdated wasn't used, and wasn't very useful as it was changed each time anything in the node changed (including internal information). lastSent and lastReceived allows determination of the health of the node by knowing when it was last heard, and when we last sent data to it.
  Added new constructor for ZWaveEvent that uses default endpoint. Changed all events that used a default endpoint to use the new constructor.
  Manual merge from druciak@eecd7c3 https://github.com/openhab/openhab/issues/1545
  Initial modification to set default endpoint to 0. This allows distinction over the multi-instance commands. Endpoints always start from 1, so a value of 0 can now be defined to use the non multi-instance version. https://github.com/openhab/openhab/issues/1545, https://github.com/openhab/openhab/pull/1544,https://github.com/openhab/openhab/issues/1461
  Initialise endpoint command classes
  Don't persist the node stage - this will always be reset on startup anyway.
  Fix bug restoring name/location
  Ensure name/location get maintained even if the XML is considered invalid. Remove version from XML folder.
  Update serialisation code. This modification moves the 'restore from file' code from the node advancer, into the controller. Instead of creating a new node, then restoring and then having to read all the information out of the file and put it into the node, and restore all the command classes and their data, this instead reads the node file directly and uses the class created by the XML deserialiser which contains all the data that was originally serialised. This avoids having to add getter/setter methods for every new class, or bit of information that gets added to classes, or nodes in future. Once the data is deserialised from disk, some information needs to be added to the command classes and nodes - i.e. links to the controller, and to the node for a command class. ** Needs further testing **
  Initial commit of node deserialisation

Conflicts:
	bundles/binding/org.openhab.binding.zwave/src/main/java/org/openhab/binding/zwave/internal/protocol/ZWaveNode.java
Fix merge error
Initial addition of HEM product
Remove failed state in NetworkMonitor as it's the same functionality as the dead state - with the exception of 1 call which is called if the state is dead.
Merge pull request #1608 from cdjackson/zwave-failed_node_bug

ZWAVE: Fix bug with pathalogical looping with FAILED nodes.
Update HEM type/id
Merge pull request #1614 from cdjackson/zwave-hem_g2

Zwave - add hem g2 to database