Used named inner classes in createTemplate

Instead of creating anonymous inner classes use named inner classes in the createTemplate method.
This change reduces memory usage by:
Reducing the number of classes defined to only 2 instead of 2 per page
Causing the pageCache to not hold a transitive reference to the Callable class, allowing it to be garbage collected

See GRAILS-11711
GRAILS-6713 exit with exit code 1 if script is not found
Remove workaround for GROOVY-6147

GROOVY-6147 was fixed in Groovy 2.1.4 and Grails is using a later version than that (Groovy 2.4.x is using Groovy 2.3.x).
use resources plugin 1.2.10
GRAILS-9620 springLoadedCommonOptions variable wasn't used for replacements to startGrails/.bat
- -Dspringloaded.synchronize=true was missing from startGrails included in distribution
- install task uses different code block for processing replacements
Merge branch '2.3.x' into 2.4.x

Conflicts:
	gradle/assemble.gradle
	grails-resources/src/grails/grails-app/conf/BuildConfig.groovy
GRAILS-9620 remove duplicated logic in assemble.gradle
use resources plugin 1.2.11
Merge branch '2.3.x' into 2.4.x

Conflicts:
	gradle/assemble.gradle
	grails-resources/src/grails/grails-app/conf/BuildConfig.groovy
Merge pull request #538 from steintore/GRAILS-6713

GRAILS-6713 exit with exit code 1 if script is not found
Merge pull request #539 from candrews/patch-15

Remove workaround for GROOVY-6147
Merge pull request #536 from candrews/patch-13

GRAILS-11711: Used named inner classes in createTemplate
Use a read/write lock in CacheEntry

The read lock should be acquired when getting or setting the value, but in getValue() and setValue(V val) there was no lock being acquired.

This lack of locking can result in race conditions. I discovered this issue by clearing the GroovyPagesTemplateEngine cache in an infinite loop, which caused page metaclasses to not be removed, resulting in a memory leak.
GRAILS-11221: Fix forked mode classpath to prefer target/classes and resources ahead of other BuildConfig dependencies
Merge pull request #544 from longwa/GRAILS-11221

GRAILS-11221: Fix forked mode classpath to prefer target/classes and res...
Merge pull request #543 from candrews/patch-16

Acquire the lock when getting or setting the value
GRAILS-11739 set JSP pageContext before setting attributes
Merge remote-tracking branch 'origin/2.4.x'

Conflicts:
	gradle/assemble.gradle
	grails-bootstrap/src/main/groovy/org/codehaus/groovy/grails/cli/GrailsScriptRunner.java
	grails-bootstrap/src/main/groovy/org/codehaus/groovy/grails/cli/fork/ForkedGrailsProcess.groovy
	grails-web-gsp/src/main/groovy/org/codehaus/groovy/grails/web/pages/GroovyPagesMetaUtils.groovy
	grails-web-jsp/src/main/groovy/org/grails/web/pages/ext/jsp/JspTagImpl.groovy