Rename AbstractScriptEngineFactory

It is the abstract superclass of ScriptLanguage plugin implementations,
so for consistency with the rest of ImageJ2 should really be called
AbstractScriptLanguage rather than AbstractScriptEngineFactory.
ScriptLanguage: make javadoc consistent

This change updates the javadoc of ScriptLanguage and
AbstractScriptLanguage to be consistent with the other types of ImageJ2
plugins.
AbstractScriptLanguage: remove redundant method

Interface methods are already required for concrete classes to
implement, so there is no reason to declare one abstract (except
to narrow the return type or alter the javadoc).
AbstractScriptLanguage: use private not protected

See:
http://developer.imagej.net/coding-style#Private_over_protected_fields_and_methods
AbstractScriptLanguage: tweak section dividers
ScriptFinder: tweak formatting
ScriptService: remove service accessor methods

In general, we try to avoid hardcoding service dependencies in the
service interfaces themselves. We can rely on service injection using
SciJava Common's @Parameter mechanism in the service implementations.
DefaultScriptService: make method private

Public service methods should all be defined in some interface.
Otherwise, we are introducing API only present in Default*Service
implementations, which means that downstream code relying on it must
hardcode the Default*Service version. This is undesirable: it kills
extensibility in the form of alternative service implementations.
DefaultScriptService: fix method order
ScriptFinder: fix javadoc comment style
ScriptFinder: fix code style
ScriptFinder: add section header comments
ScriptFinder: fix variable declaration order
ScriptService: extend SingletonService
DefaultScriptService: simplify reloadScriptLanguages

Now that the ScriptService is a SingletonService, we can lean on it.
ScriptService: add missing getLanguages javadoc
ScriptService: add javadoc TODO reminders
DefaultScriptService: fix comment style
DefaultScriptService: tweak whitespace
Rename scripting implementations, for consistency

Since each scripting language has its own artifact, it should live in
its own package prefix. The Java language already did this
(imagej.script.java) but the others all reused the imagej.script base
package. This change moves each scripting language into a subpackage of
imagej.core.scripting, for consistency with the rest of the plugins/
component hierarchy.