GRAILS-11095 - improve controller exception handling testability

When unit testing a controller action which accepts a command object the built in exception handling support does not work from a unit test if the command object is explicitly passed to the action from the unit test (as opposed to the unit test populating request parameters and allowing the framework to create the command object). This change moves the exception handling from the AST transformation generated no-arg method to the original method defined in source code so the exception handling is in place when either method is invoked (the no-arg method invokes the generated method).
GRAILS-8426 - fix exception handling for closure actions with command objects
Merge branch '2.3.x'
GRAILS-8426 GRAILS-11095 - fix failing test

The test was passing for the wrong reason.  Now that the allowedMethods handling has been moved into the original method (as opposed to the no-arg method which is generated at compile time), allowedMethods is being respected.