Improve CI reliability
Context
Recently the unit tests in CI have been quite unreliable, often resulting in segmentation faults when running tests which exercise unchanged code.
Some investigation suggests this is largely due to some parts of the test suite which instantiate gRPC objects, which makes forking unsafe. We should resolve this issue by reworking the affected tests to only instantiate their gRPC objects inside subprocesses, keeping the main test process clean and forkable.