Add JavaRunner plugin type, for executing classes

This will give us extensibility with respect to how the Java script
language runs Java code, rather than always just launching main.
Add a JavaService for managing JavaRunner plugins

The Java service could potentially do other stuff in the future too, but
mainly we need a run(Class<?>) method for executing Java code right now.
Add a JavaRunner that simply calls the main method
Add a JavaRunner for Command classes
JavaEngine: use the JavaService to run the class
Merge remote-tracking branch 'origin/overengineered-goodness'

The 'overengineered goodness' is the handler plugin type that will allow
us to launch all kinds of classes using the Java "script" engine, even
if the JavaEngine actually has no clue about those classes.

Most notably, we will be able to launch ImageJ 1.x plugins by providing
a handler implementation in imagej-legacy.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>

Conflicts:
	src/main/java/org/scijava/plugins/scripting/java/JavaEngine.java
We need the JavaService to pass the unit tests now

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>