Set up a blank test for GroovyMain.
The compiler-side of things for the @ScriptURI implementation of GROOVY-1642.
Get URL-based GroovyCodeSources to make their way to SourceUnit.
Make GroovyMain, GroovyShell, and GroovySocketServer more consistent in GroovyCodeSource usage, esp. wrt URL.
Working transform and a simple test for @ScriptURI that covers GROOVY-6561 and GROOVY-1642
Restore GroovySocketServer(GroovyShell, boolean, String, boolean, int) since it is documented as Groovy API.
Nice clean code for GROOVY-6451 now that we have GROOVY-6561.
Fill in the gaps in the GroovyShell evaluate and run paradigms for source and arg list types.
Restore GroovyMain's getText and huntForTheScriptFile methods and make getScriptSource protected for folks who want to extend GroovyMain.
Refactoring bit me here.  Keep this the way it was in case folks have been extending GroovyMain and overriding huntForTheScriptFile.
Enable @ScriptURI to work on fields as well as declaration expressions.
Change the annotation name from @ScriptURI to @SourceURI since it is neutral wrt to whether the source is for a script or class.
Fix GROOVY-6597: Don't use URL.equals and let URLs get onto URLClassLoader's classpath.
Make all the checks for whether a path is a URI use the exact syntax from RFC 2396.
Make GroovySocketServer script naming more like the way it was.
Merge pull request #337 from jimwhite/GROOVY-6561

GROOVY-6561 and GROOVY-1642 : Scripts and URLs/URIs