Stunt testing!
What happens is this: we write a string of C# to a file. This C# acts as
a mock of the ObjCRuntime namespace it also includes a one or more
classes that act internally like NSObject descendants at least as far as
the `class_ptr` field is concerned.
The test compiles this code, runs the rewriter, then executes the final
code collecting the output.
The tests include the following:
1. tool not run, code works as expected
2. tool run, `ClassHandle` now returns a different value
3. tool run, a class not listed for changing stays the same
4. tool run on a more authentic cctor, the cctor gets removed entirely
The code to run a process and collect its output was taken from the
binding-tools-for-swift tests.
All tests pass.
---------
Co-authored-by: GitHub Actions Autoformatter <github-actions-autoformatter@xamarin.com>