GROOVY-6120: VerifyError if field is used in @Category
   * do not allow usage of instance fields or properties in a class annotated with @Category
   * make @Category compatible with @TypeChecked and @CompileStatic
GROOVY-6139: Redesign: Lexer-based completion
Refactor ReflectionCompletor class into several smaller completors
Uses Lexer instead of identifying the completion part via string methods
Allows whole-buffer context aware completion
Completes many but not all expressions where statement before dot can
be evaluated without expectable side-effects. Refuses to complete where
completion would require evaluation of e.g. "foo()" or "foo each"
However, it still evaluates operators, getters and "[]" expressions, which might
in some cases perform long-running operations or even have side effects.

Examples that will now complete, but did not before
"foo".
"foo".chars.

Multiline:

x = [1,
2].

y = """start
end""".
fix test so it runs on jdk 1.5
fixed typo in comment
Merge branch 'lexer_complete' of https://github.com/tkruse/groovy-core into tkruse-lexer_complete

Conflicts:
	subprojects/groovy-groovysh/src/test/groovy/org/codehaus/groovy/tools/shell/GroovyshTest.groovy
	subprojects/groovy-groovysh/src/test/groovy/org/codehaus/groovy/tools/shell/ReflectionCompletorTest.groovy

resolved
GROOVY-6143: Groovysh vulnerable to instances with custom getProperty() implementations-
Also adds tab completion for properties that are not non-public fields.
again, fix tests failing on server by avoiding IO based asserts
added missing License headers
GROOVY-6074: Use Jar Classloading to complete import statements.

Examples:
groovy:000> import
groovy:000> import j
groovy:000> import java.
groovy:000> import java.net.
groovy:000> import static java.net.

Also complete Classnames for preimported and imported classes

Example:
groovy:000> Sys<tab>

Before: no completion
Afer: completes to System  (from java.lang.System)

Also:
groovy:000> import java.awt.*
groovy:000> Sha<tab>

now completes to "Shape"

As well imported statics:
groovy:000> import static java.lang.Math.*
===> [import static java.lang.Math.*]
groovy:000> ma<tab>

now completes to "max("
Unit tests for the history Command
Preference to disable import-class-completion
GROOVY-6145: Also complete Filenames in open strings
GROOVY-5344: upgrade to jline 1.0->2.10 and jansi 1.6->1.10
Merge pull request #187 from tkruse/fix-groovysh-test

Fix groovysh test
Merge pull request #179 from tkruse/fix_and_imports

complete classpath imports
Merge pull request #180 from tkruse/filename

Groovysh Complete Filenames in Strings
Merge branch 'jline2' of https://github.com/tkruse/groovy-core into tkruse-jline2
show stacktrace of exceptions in tests to make root cause analysis easier
Merge branch 'tkruse-jline2'
GROOVY-6158 Added directory entries into groovy-all.jar