ModuleInfo: make interactivity a 1st-class citizen

At the imagej.module layer, there is now a ModuleInfo#isInteractive()
method to query whether a module is intended to be run interactively.

At the imagej.command layer, there is now an Interactive duck-type
interface (similar to Cancelable and Previewable) which indicates a
Command is supposed to be run interactively. There is also an
InteractiveCommand base class with the necessary plumbing for
interactive commands in general. And the ij-data project now has an
imagej.data.command.InteractiveImageCommand which extends
InteractiveCommand with support for DatasetView and Dataset input types.

Lastly, this change migrates the old InteractiveCommand (which is now
InteractiveImageCommand) out of the ij-commands project, where it was
previously buried.
ContextCommand: fix error in javadoc