Added a class discovery cache mechanism.

The CH jar is automatically scanned at build time, so that step can be skipped for the CH jar at least, and I will get it so that caching only has to happen once per version of an external jar.