implemented version checker

+ Version now has a static .fromJson method to parse json in to a
Version object
* Moved getVersion from Preferences to Version and renamed it to
getCurrentRunningVersion