Taglib body() closure fix

Hi there,

To quote the commit message in this pull request:

Currently, if `body()` is executed in a Grails taglib called from a Freemarker template, TagLibToDirectiveAndFunction will simply spit the body of the taglib call out into output stream and return an empty string to the taglib. This works for *some* use cases where the body of the taglib call is just pasted into output, but for transformative stuff this doesn't work. For example if we have a taglib that reverses the body and outputs it, that kind of functionality wouldn't work without this patch.

This PR also contains a commit with a test that demonstrates what has been fixed. If you try running that test without the fa30ec4 commit, all shall become clear.