Add a ScriptLanguage which adapts a ScriptEngineFactory
DefaultScriptService: remove unnecessary import
ScriptService: improve javadoc
ScriptService: clean up style
ScriptLanguageIndex: narrow to ScriptLanguage

Previously, the ScriptLanguageIndex extended
HashSet<ScriptEngineFactory>, which was less specific. Now that we have
an AdaptedScriptLanguage which can wrap any ScriptEngineFactory, we can
afford to make the ScriptLanguageIndex always contain ScriptLanguage
instances (even if we have to create them as wrappers in some cases).
Tweak javadoc of some ScriptLanguage classes
Use AdaptedScriptLanguage where feasible

The JRuby and Jython scripting language implementations can wrap the
already-provided JSR-223-compliant ScriptEngineFactory instances.

The only thing not wrapped yet is the getScriptEngine() method itself
(we have a reimplemented ScriptEngine for each). We could partially
(mostly) reuse them too, but we will need to inject additional
functionality such as auto-importing, so the reuse cannot be total.