Pull down getPsi() method from JavaElement
Make JavaElementImpl generic on underlying PSI type
Minor, polish JavaClass

- move utility methods out from JavaClass to the usage site
- JavaClassifier extends JavaNamedElement
Use ServiceLoader to load different implementations
1