Revert "Revert "Merge pull request #42 from gpsantos/GRAILS-11670""

This reverts commit 2b29b657cb4a35337410c4b52ca0661a14eb24b3.
GRAILS-11670 - Creating TestGormEnhancer and TestCriteriaBuilder to be used for tests and implement readOnly() as no-op.
test for GRAILS-11787 "hasOne are not initiated as bidirectional (OneToOne)"
fix for GRAILS-11787 "hasOne are not initiated as bidirectional (OneToOne)"
Merge pull request #45 from gpsantos/GRAILS-11670

Grails 11670 - Adding support for readOnly operation on unit tests
GRAILS-11614 Implement use Java delegating metaclass for Groovy proxies
Merge branch 'tomwidmer-feature/GRAILS-11614' into 3.x
add Apache 2 license header to new file
Use CompileStatic in GroovyProxyFactory and access ProxyInstanceMetaClass with static calls
GRAILS-11614 unwrap possible HandleMetaClass instance
GRAILS-11614 add additional check to test that a proxy is returned
GRAILS-11614 handle special case of setProperty when property is "metaClass"
GRAILS-11614 add test for setting metaClass property on proxy
GRAILS-11614 add test and special handling for setMetaClass method of the proxy
GRAILS-11614 related: run GroovyProxySpec with and without GroovyProxyFactory
GRAILS-11766 - improve where query chaining
GRAILS-11614 throw DataIntegrityViolationException from JavassistProxyFactory instead of IllegalStateException to be consistent with GroovyProxyFactory
- related to change made in GRAILS-10162 , commit 9fa310e9
GRAILS-11614 fix GroovyProxySpec when proxyFactory is JavassistProxyFactory
- add type conversion for id to prevent ClassCastExceptions between Integer/Long
GRAILS-11614 don't switch proxy factory in UpdateWithProxyPresentSpec
GRAILS-11792 add special handling of set/getMetaClass in GroovyObjectMethodHandler