Improve consistency of Grammar methods for names of rules and tokens

This also corrects antlr/intellij-plugin-v4#73 by ensuring the result of `getTokenNames` never returns a `null` array element.