Limit protocol versions to 0..63 (proposal 318)
This patch includes another branch (against 0.3.5, MR at !172 (merged)) to restruct the protocol versions to the range 0..63. Then it merges that branch to mater, and refactors our protover code to use a bitmask instead of a smartlist of ranges.
github CI at https://github.com/torproject/tor/pull/2090
Closes #40133 (closed).