Zwave config improvements v2

Replaces PR #1488 which will be closed.
Re-based to master to keep things tidy and using revised code based on advice from Chris.

Fixes for start-up XML config deserialization for node Name, Location,
Version info(s) & Heal State text. [Heal State useful
for previous heal info when service restart].
Fixes for serialization of above xml config info at relevant stages of
load data & refreshing.

NODE: Version info needs to be refreshed manually per node still but is
stored in xml later. TODO move to init phase so auto done.

Allow Dead node to advance from Dead to Alive again (rare condition for
some zwave devices not init properly).
Display Node ID at beginning of node name if Name is set.
Improve scheduled Heal - non-listening & controller nodes should not be
added to scheduled heal list.
But why add them to the node level when they are already in the command class. When the node is serialised, it serialises the command classes and we shouldn't need to pollute the node class with everything that's in the command classes.