Casting operations no longer require a reference to RuntimeState.
get_default_fields also does not require a reference to RuntimeState.
Removed field and method lookup from RuntimeState.
Added get_fields to prevent raw access to the fields array in ClassData objects.
Introduced the concept of "resolved" classes to fix an issue with handling errors during class resolution.

I figured out that our parallel loading causes issues, though. Mainly: If you have a parent class reference an interfact that was referenced by a child class, then there's a bit of a race to see who will load it first. Whoops.

I have temporarily disabled that part of the code. I can get it working again, but it's not worth the time right now.
We now pass the CatchingClinitException test.