Improve coding style and readability
Add a format_version attribute to the description meta data

The format_version attribute indicates the version of the JSON data format.
For now Machinery only supports system descriptions of the current
format_version, there is no migration path for old formats.
Raise error if the user tries to load a description with old data format
Marks descriptions with incompatible data format in "machinery list"
Describe format version policy in the data model description
Declare constant before accessors as defined in the style guide
Add SystemDescription#compatible? and #ensure_compatibility! methods