code Style refactorings, mostly allows @CompileStatic and @TypeChecked

This declares types in several places, does some casting too.
Gave unique name to iterators in closures

Could not fix all Type checking and static compile problems,
due to weird hacks around command registry

Not including @CompileStatic and @TypeChecked annotations
because maybe this is to be backported to groovy 1.x, and also
I did not see other code here use them
error message when invoking record with too many arguments
fix result of all included, and refactor

Before:
groovy:000> show all
...
===> [variables, classes, imports, preferences, all]

After:
groovy:000> show all
...
===> [variables, classes, imports, preferences]
Code Style Generics
make tests run that depended on CommandException being raised by the shell
typo
Fix display of superclass methods in completion

E.g.:
groovy:000> class Foo{}
===> true
groovy:000> Foo.<tab>

Before: super$1$xyz methods apper
after: methods appear under their name
Complete Custom Classes.

Example:
groovy:000> class BarFooBaz{}
===> true
groovy:000> Bar<tab>

Before: No completion
After:  groovy:000> BarFooBaz

comment
fix completion vulnerability to corner case

Example:
groovy:000> foo(.baz<tab>
complete variable names and such inline even if dot precedes expression

example
groovy:000> xyz = 3
===> 3
groovy:000> System.out.println(x<tab>

Before: No completion
After: completes xyz
Prettier format of arrays, showing empty arrays as "[]", and adding class

Example:
groovy:000> Object.fields
===> [] (class java.lang.reflect.Field)
code style
also get superclasses fields and methods
fix completion: do not show instance vars in static context,
and properly hide invalid member names

Example:
groovy:000> class Foo{public static int foo = 3; int bar = 4}
===> true
groovy:000> Foo.<tab>
Show instance fields, needs getDeclaredFields() for some reason
extend completion: for method closures defined in the shell, add brackets

Example:
groovy:000> def boolean foo(String name, prefix) {return name == prefix}
===> true
groovy:000> fo<tab>
Define Logger
static typing
Small fix to completion of identifiers,
not evaluating identifiers following a point

Example:
groovy:000> class Foo{public static def fooprop = 3}
===> true
groovy:000> class Bar{public static def barprop = 3}
===> true
groovy:000> bar = new Bar()
===> Bar@53624517
groovy:000> foo = new Foo()
===> Foo@3000e213
groovy:000> bar.foo.<tab>

Before: completes like foo.<tab>
After: no completions
Fix completion, error if dot follows cursor