Added wrapper class to hold data used for versioning.
Added an interface for the version system to be notified of changes and to record them.
Added an implementation of versionlistener, which updates the version manager with the device information, and pushes version data that the manager can server.