Sermantic versioning for the protocol, with release candidates

A similar proposal was made back here: https://github.com/ethereum/EIPs/issues/178

It comes with some differences: