Map#each(Closure) static compile fix for Groovy 2.1.x - 2.3.x + unit test

Problem occurs for Groovy compiler versions starting 2.1. 2.0 didn't have the problem because there was no check for this at the time. There are some tests around DGM methods in Groovy 2.1, so there is an error, but the wording is a bit different. Groovy 2.2 and 2,3 result in the same error
The difference between groovyc compilation and groovy-eclipse compilation is our groovy-eclipse changes to Groovy core.
1) Java5#makeClassNode(...) returns plain node reference rather than just the node.
2) Once the change above is made ClassNode cannot call getInterfaces() from getPlainNodeReference(), because that may cause infinite loop with class node's lazy init. Hence, modified ClassNode#getPlainNodeReference() to match the original code in Groovy core.

I have ran the tests for Groovy 2.1, 2.2 and 2.3 with the fixes and without and the fix doesn't cause any test failures.
Not sure why it's necessary to get transfer interfaces on plain node reference... this modification seem to be done along time ago, perhaps for Groovy 2.0 and up it's not needed anymore.