Initial commit of node deserialisation
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 **
Ensure name/location get maintained even if the XML is considered invalid.
Remove version from XML folder.
Fix bug restoring name/location
Don't persist the node stage - this will always be reset on startup anyway.
Make association group names read-only
Initialise endpoint command classes
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
Manual merge from druciak@eecd7c3
https://github.com/openhab/openhab/issues/1545
Added new constructor for ZWaveEvent that uses default endpoint.
Changed all events that used a default endpoint to use the new constructor.
Merge branch 'master' of https://github.com/openhab/openhab into zwave-endpoint_default_to_zero
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.
Handle receive time, and NEVER received
Add exception handling for XML errors.
Merge branch 'master' into zwave-restore_serialisation

* master: (63 commits)
  Workaround for https://github.com/openhab/jmdns/issues/12
  Add Z-Wave remote Merten MOVE, fix label for Merten 4-chan controller
  Fixed out of order params in log message
  Removed formated log messages.
  Cleanup debug messages to use standard format
  Changed assoications from 232 to 5
  Default config file changes for Pushover.
  Added retry and expire values for messages with priority of 2 as required by Pushover API.
  Debug log instances of OpenSprinkler library not initialized.
  Fixed null pointer exception on OpenHab startup.
  Astro: fix error in DateTimeUtil::getRange
  Proper handling of corrupted METER message.
  Added logging of unhandled exceptions in sending/receiving threads.
  Update ZWaveMeterCommandClass.java
  Update ZWaveMeterCommandClass.java
  Fix openhab_default.cfg MySQL JDBC template text
  Fixed error message on parsing a step size
  Add Duwi 054375
  Update debug messages
  added alternative prdoct id
  ...

Conflicts:
	bundles/binding/org.openhab.binding.zwave/src/main/java/org/openhab/binding/zwave/internal/protocol/initialization/ZWaveNodeStageAdvancer.java
Add itemp device (Thanks to Nicolas Bonnefond)
RFXCom Lighting4 Message

Addess support for RFXCom Lighting4
SubType PT2262
Merge pull request #1597 from cdjackson/zwave-association_groups_readonly

Make association group names read-only
Merge pull request #1601 from AlexF12004Roma/master

[RFXCom] Lighting4 Message
XML reformatting