Refactor the control port client implementation
The current control port implementation lives in Torbutton. For #40938, we want to better integrate it with the rest of our patchset. Also, we want to modernize it and remove some overengineered mechanisms (such as the dispatchers).
issue