Autoindent for buffers, currently fixed at 2 spaces.
Enabled by setting autoindent to true in preferences.

The current buffer is lexed using the default Groovy Lexer,
which keeps track of parentheses in a stack, using the depth of that stack.

Also had to use a hack-ish solution wrapping the InputStream because JLine
does not provide an API to do autoindent.
made tests more robust against minor changes in JDKs
small fix to not recursively complete enum items