ScriptContent caching

A user reporting slowness during builds using a custom token based on `ScriptContent` had thread dumps showing heavy activity in Groovy-initiated class loading. `SimpleTemplateEngine.createTemplate` in some executor threads was actually blocked in `GroovyClassLoader.loadClass` waiting for a lock on `PluginManager.UberClassLoader` held by another executor thread. It seems sensible to cache the `Template`s produced by this method, as that seems to be orders of magnitude more expensive than actually running them.

(CloudBees ref: ZD-19755)