Prevent JLine 2.12 bug from breaking bash prompt aver leaving Groovysh
workaround for https://github.com/jline/jline2/issues/163
is creating only one Terminal
Revert "revert jline dependency to 2.11 until fix is available for"

This also reverts commit c3b12c917ef22f27b2842b1f84dd9ecd84d62a09.
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