Groovysh: Refactor: Replace Strings by jline Enums / Classes
Groovysh: fix two likely bugs due to invalid usage of ! operator, and missing accessor
Groovysh: Refactor: basic codenarc cleanup
- removed semicolons
- removed unused imports
- removed public keyword
- Added @Override
- GStrings -> Strings
- removed unnecessary getters
- consistent usage of final for method params
- added types to Collections
- simplified collect calls

Left Patched jline classes untouched (Java-like) for easier upstream contribution
Groovysh: Refactor and improve regex code:
- Waste less resources by compiling patterns into static fields
- Allow navigation along other identifiers than valid property names (anything groovy eval allows)
- Also use @CompileStatic for packageName Completion
GROOVY-7048: Groovysh: Tab completion after OPTIONAL_DOT (Safe navigation)
GROOVY-7048: Groovysh: implement spread-dot completion
GROOVY-7049: Groovysh completion should suggest fieldnames instead of Bean accessors

Consider
groovy:000> class Foo {def foo, bar, baz}
groovy:000> f = new Foo()

Before:
groovy:000> f.
getBar()   getBaz()   getFoo()   setBar(    setBaz(    setFoo(

After:
groovy:000> f.
bar   baz   foo
Groovysh: Minor fix: String Literal must not be evaluated as GString
Groovysh: Refactor: reduce codenarc issues for tests
- unnecessary GString
- unnecessary Getters, Semicolons, public
- @Override
- more power asserts
Merge pull request #512 from tkruse/groovy7048-9

Patches for GROOVY-7048  and GROOVY-7049, refactorings