AdaptedScriptLanguage: handle null PluginInfo

This can happen with wrapped ScriptEngineFactories, since the
ScriptLanguageIndex wraps them using the appropriate
AdaptedScriptLanguage constructor. In that case, there is no associated
PluginInfo, and getLanguageName should simply delegate to the adapted
ScriptEngineFactory's language name.
Do not use empty plugin name as language name

When leaving off the 'name = "..."' attribute from the @Plugin, the name
is actually set to "", not null, so we need to test for that too.