SaveAsImage: remove hacky 5D logic

The next release of SCIFIO will allow N-dimensional saving, so this
logic will no longer be necessary. And in the short term, it is not
that vital to warn about this temporary limitation.
SaveAsImage: make initializer method protected

Public API invites external usage, but in this case, we do not want
anyone calling the initOutputFile method directly.
SaveAsImage: remove "IJ2" reference

The term "IJ2" is convenient shorthand when talking about the project,
but is not very future-proof for the long term.
Make ImageJ plugin types implement ImageJPlugin

The SciJava plugin class hierarchy was recently enriched with some
useful new layers: e.g., TypedPlugin, SingletonPlugin, WrapperPlugin.
After this change, some types of ImageJ plugins did not actually
implement the ImageJPlugin interface, but rather simply extended the
most appropriate SciJava plugin interface. It is best to do both, so
that *all* ImageJ plugin types descend from ImageJPlugin.
MinMaxMethod: organize imports
MinMaxMethod: clean up javadoc
CommandInfo: remove factory infrastructure

This infrastructure was put in place long ago to accommodate a specific
use case: 3D Viewer plugins, which were special extensions of Commands
with their own menu structure separate from vanilla ImageJ commands.

That use case can now be handled using the menuRoot attribute of the
@Plugin annotation; there is no more need to involve factories that
customize the wrapping of Commands to Module instances.

To reduce the complexity of the class hierarchy surrounding Commands and
Modules (which is really more than complicated enough already), we
remove this unused feature.

If the need should arise for it in the future, it can always be readded
at that time. But until then, we respect the "YAGNI" principle here.
Command: improve javadoc

The javadoc is now consistent with the language in other plugin types
throughout the codebase.
CommandInfo: flesh out javadoc
CommandModule: flesh out javadoc
CommandInfo: clean up style
Merge branch 'command-cleanup'

This branch simplifies the imagej.command class hierarchy by removing
the unnecessary CommandModuleFactory infrastructure.

It also cleans up and fleshes out javadoc in various places, to better
explain how Commands and Modules are related to one another.
Merge branch 'imagej-plugins'

This branch makes sure that all ImageJ plugin types descend from the
ImageJPlugin marker interface. They used to, but after fleshing out the
plugin class hierachy, some types inadvertently lost the tag.