changing java files within main/groovy into groovy files.
This is for consistency and for development ease

Note I removed the "assert parent != null",
which seemed to have been unjustified anyway (Code does null checks)
Keyword completion.
Hooked into global completion (start-of-line) for
visibility modifier and such

Hooked and into Reflection Completer for other keywords, as this may
happen anywhere in the line, and is similar enough.

Took some care to provide most probable spacing and some opening brackets.