AdaptedScriptLanguage: extend AbstractScriptLanguage

This approach is more DRY, reducing lines of code.
ScriptLanguage: add method for decoding objects

In many cases, objects pulled out of the ScriptEngine's bindings are
wrapped or adapted in some fashion, and need to be unwrapped/decoded.
ScriptModule: add getLanguage accessor
JavaScriptScriptLanguage: implement decoding

The implementation is a little hairy because we don't necessarily have
direct compile-time access to the JavaScript Wrapper interface
implemented by the NativeJavaObject wrapper. But we can access it via
reflection. It is typically either org.mozilla.javascript.Wrapper, or in
the case of Oracle's shaded implementation,
sun.org.mozilla.javascript.internal.Wrapper. Either way, the package
will match that of the wrapped object itself, so we can go from there.
ScriptModule: fix return value population

Previously, the return value was populated once, then overwritten with
null during the output population step. To avoid this, we now mark the
return value output as resolved, and skip resolved outputs during the
output population step later.
ScriptModule: decode outputs when populating
ScriptService: tweak ScriptLangugae lookup methods

The getByName and getByFileExtension methods did not convey
that they return the relevant scripting *language* as opposed
to some other kind of object managed by the service.
Merge branch 'master' into script-parameters

This updates SciJava Common to 2.5.0, which includes
support for converting strings to enum constants.
JavaScriptTest: test output parameters, too
BeanshellTest: test output parameters, too
JythonTest: add testParameters test
ClojureTest: add testParameters test
WIP: JRubyTest: add testParameters test