Make tor versions sortable, by adding the commit number to EXTRA_INFO
In legacy/trac#30899, sbws starts using the PEP 440 sortable version scheme:
```
The version previous to this commit was 1.1.1-dev0, after
this commit, it becomes 1.1.0+xx.gyyyyyyyy, ie. xx commits after
1.1.0 plus the git short hash (yyyyyyyy).
```
PEP440 is specified here:
https://www.python.org/dev/peps/pep-0440/
We should do something similar in tor, so that we can sort all tor versions lexically, even unreleased versions.
The current format is:
```
MAJOR.MINOR.MICRO[.PATCHLEVEL][-STATUS_TAG][ (EXTRA_INFO)]*
```
EXTRA_INFO is currently:
```
git rev-parse --short=16 HEAD
```
But we could use:
```
git describe --tags --dirty --broken --always --match "tor-*"
```
Possibly with some post-processing. We should also add a prefix that sorts after any versions in the previous format. (The prefix will only matter for 0.4.4.0-alpha-dev.)
Here's the relevant part of the current version spec:
https://gitweb.torproject.org/torspec.git/tree/version-spec.txt#n22
Or we could just use python-versioneer to generate a version script for tor:
https://github.com/warner/python-versioneer
We might need this change for Sponsor 55, so that chutney knows which unreleased tor versions have bridge authority fixes (see legacy/trac#33407)
issue