Zwave serialisation updates

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.
It also moves the zwave XML file location into the /etc/zwave folder rather than a subfolder based on the version. This avoids having to reinitialise the information every time the binding changes version.