Rename GuardClassLoader to ClassSynthesizer, improve strategy of reusing ClassSynthesizers, add Realms to keep knowledge at ClassLoader-Level, implement simple guard mapping, prepare package-level default guards.

CheckerBridge now can set itself to null in the CheckerStore and the generated code checks for nulls. This is more memory-efficient than keeping the bridge and setting a non-failing Invoker on inapplicable guards. This might get important with package-level default guards as it's to be expected that a LOT of guards will be inapplicable (the agent will just try to apply these guards to everything).