(CDAP-864) Fix classloading in unit-test mode

Make class loading of byte code generated classes aware of classes that needs to be preserved with the original ClassLoader so that even user classes presented in both system classpath and program classloader, it can be loaded correctly.
Actually not just primitive type, but also classes loaded from bootstrap classloader (e.g. `java.lang.String`). Anyway, will add a comment.