Protocol versioning and compatibility.
Defines ProtocolVersion struct with major/minor/features fields and constants for V1_0, V1_1, V1_2 supported versions.