Assign mnemonic names to subprotocol versions
We've talked about this a bit: it would be handy in our specs, and handy in implementations too.
The idea here is that that in in our documentation, in addition to opaque names like "DirCache=2" or "FlowCtrl=2", we would say something like "DIRCACHE_CONSENSUS_DIFFS" or "FLOWCTRL_CONGESTION_CTRL".