GRAILS-11354 - copy test from master branch
Merge branch '2.3.x' of github.com:grails/grails-core into 2.3.x
set version number to 2.4.0.RC1
GRAILS-11377 implement cache storm prevention (returnExpiredWhileUpdating feature)
GRAILS-11377 use refactored CacheEntry solution in GroovyPagesTemplateRenderer
GRAILS-11377 prepare for implementing Serializable in subclasses of CacheEntry
GRAILS-11377 allow using CacheEntry as superclass for class that never stores a cache value
- CacheEntry will be used only for preventing concurrent retrievals of a single cache key
GRAILS-11377 Refactor CacheEntry to support passing cache request context object that can be used for updating the cached value or checking expiration in custom CacheEntry class
GRAILS-11378 / GRAILS-11377 refactor caching implementation in GroovyPagesTemplateEngine
GRAILS-11296 cleanup metaClass after each in-progress page rendering thread finishes. The metaClass might get re-inserted in the metaclass registry under concurrent access.
GRAILS-11378 fix failing tests, rethrow wrapped runtime exceptions
GRAILS-11377 refactor CacheEntry API slightly
GRAILS-11378 fix problem in test (caching was broken previously?)
Merge branch 'GRAILS-11377'
 GRAILS-11351 handle -D parameter with whitespaces
Implementation for GRAILS-10813: Add support for preventing DOM based XSS attacks
- Supports chaining several encoders / decoders
move encoding related classes from grails-web-common to grails-encoder
- keep old package names in Grails 2.4
Merge pull request #494 from roughy/bug/whitespaces_in_commandline_parameter

 GRAILS-11351 handle -D parameter with whitespaces
upgrade to latest g-d-m release and change version to 2.3.9
Merge branch '2.3.x'

Conflicts:
	build.gradle
	build.properties
	grails-test-suite-uber/src/test/groovy/grails/util/GrailsUtilTests.java