(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.
This would happen if the user did not bundle all dependencies with his jar, right? Seems that this deserves a good error message.