WELD-2550 Revert previous approach but keep tests. Implement new approach that creates proxies based on interfaces instead of provided implementation. Add more tests to verify that proxyable interface can be used even though unproxyable implementation is provided.

WELD-2556 Weld core changes reflecting API changes. Only use Unsafe to crack open CL if we need it, add fallback to setAccessible on JDK 12. Fix ReentrantComputingCacheTest and ThreadLocalTestCase on JDK 12. Add AtomicBoolean to CFUtils to make sure we invoke it only once. Update method names.