Circmgr code motion for tests
This is the prefix of !2497's branch containing only code motion (and some tiny resulting type adjustments).
CC @wesleyac
A note on process and propriety
Normally I wouldn't set my own MR to merge without approval, but I will do in this case. I think this is justified because (a) as the reviewer of !2497 I would be entitled to merge the whole branch (b) these changes are good in themselves (c) it highly unlikely to me that @wesleyac, as the author of !2497, would object.
So rather than expecting @wesleyac to "review" their own work, or something, I will just merge it. I'll see the Reviewer manually to @wesleyac so that triage-bot doesn't pick someone else to confuse :-).
@wesleyac I trust this meets with your approval. Please let me know if you feel I have overstepped the mark.