AST transformation to creat equals and hashcode in Groovy, with support for Grails domain classes