Add tabcompletion support

Add proper tabcompletion support. Most work is code cleanup and adding unittests.
they are in the maven templates for `author-info` or `developer-info`. i'll add Rafael to the pom.xml since he seems missing.