Service versioning

Both the SWIM Service Description documents / Protobuf files and the CCS Services are versioned.
The version assigned to SSDs and to Protobuf files is composed by four digits in the form x.y.z.w.
New releases are numbered according to the following rule (compared to the previous version):
- w increased by one: means that some content that could be ignored by the developers changed and the changes do not affect the protobuf files generation. For example, changes in the comments or in the descriptions of services, fields and data structures.
- z increased by one: means that some content is changed by adding (but not changing or removing) some messages and/or data types. The generated protobuf files are expected to be an extension of the previous one and as result they are backward compatible.
- y increased by one: means that the file is changed by changing or removing some operations. The generated protobuf files are not expected to be compatible with the previous one.
- x increased by one: means that the file contains a new baseline. Major changes are expected to be present.

The service version is composed by 3 digits a.b.c assigned according to the following rule:
- a could be 0,1,2 depending on the status of the service with respect to the SWIM registration phase:
0: before the service application (as candidate)
1: if candidate
2: if compliant
- b Increments if major changes have been done with respect to the previous version (modify/remove). No backward compatibility.
- c Increments if minor changes have been done with respect to the previous version (addition/description modified). Full backward compatibility.