ScriptInfo: grab name directly from ModuleItem
ScriptModule: store return value in an output

Previously, the return value was simply emitted to stdout (temporarily
for debugging). Now we store it to a special output instead.
ScriptInfo: narrow return type of createModule()

Since we always create a ScriptModule, it's nice to make that promise
explicit in the API.
ScriptService: update eval methods & rename to run

The new run methods now use ScriptInfo objects, and are patterned
after the existing run methods of ModuleService and CommandService.

Similarly, they return a Future<ScriptModule> rather than the script's
return value itself. (We can guarantee that the resultant Module will
always be a ScriptModule, even if the casting is a little ugly.)
DefaultScriptService: remove obsolete code

The script input parsing is now part of ScriptInfo.
ScriptModule: do not set the context in the ctor

The reason is that the ModuleService#createModule method wants to do it.
Since not all ModuleInfo objects are contextual, the module service
assumes that calling info.createModule() will result in a freshly minted
context-free module. So let's not violate that assumption.
ScriptModule: support scripts from Reader sources
ScriptService: add method to run a script string

This method is merely for convenience.
Use handy ScriptService#run(String, String) method

For the unit tests, this method is a bit more
succinct than the one which takes a Reader.
Remove automatic SciJava context injection

This injection was a special case to provide scripts with access to the
SciJava context. But they can now easily have access to the SciJava
context simply by specifying an input parameter; e.g.:

    // @Context ijc

And this way, they can name the context variable whatever they want,
instead of it always being hardcoded to "IJ" which caused a name clash
with ImageJ1's ij.IJ class.
ScriptModule: initialize ScriptEngine before eval
BeanshellTest: wait for script execution to finish

Otherwise, in this particular case, there is a race condition where
the execution may not be finished before the JVM starts to shut down
(somehow...?). When that happens, the SaveInputsPreprocessor fails
because it invokes the Java Preferences API, which barfs.
BeanshellTest: add testParameters test

This is very similar to the one in JavaScriptTest, but for Beanshell.
WIP