HistogramCreate: fix computation

In 'HistogramCreate.run' a histogram class is created but the histogram
data does not seem to be generated.  It seems a call to 'countData' is
needed to generate the histogram of the input.

HistogramCreate is made an op so that the thresholding methods can find
it using the op service.
Threshold op now passed to map op

Previously a threshold of type T was passed to the map op.  However the
map needs a function as the third input parameter.
Rename PixThreshold to ApplyThreshold
HistogramCreate: Correct ordering of inputs and outputs

Outputs first!
Otsu: convert threshold from bin to gray level

The threshold is calculated as a bin number, and must be converted to a
gray level.
Refactor GlobalThresholdMethod

It is now an interface that extends Function.

And we can simplify the interface. Not every compute threshold method
needs a histogram; we should make sure that we don't have unnecessary
calculations in ops.
Add global threshold test class

This class is for testing global threshold methods.  The initial commit
has a test for Otsu threshold.  In the future tests can be added for
other global threshold methods.  The Otsu test is structured as follows:

1.  Create a ramp test image.  2.  Threshold using ops and count the
number of foreground pixels.  3.  Convert to IJ1 ImagePlus and threshold
using the ImageProcessor threshold functions 4.  Verify the count
produced by the op is the same as the count produced by ImageJ1.

imglib2-ij was added as a testing scope dependency as it contains the
utilities to convert to IJ1 ImagePlus.
REWORD Brian/Christian threshold hacking
Rename AutoThresholdMethod to ComputeThreshold

We want to differentiate between the layer that _computes_ thresholds,
versus the layer that _applies_ them by iterating over an image.
GlobalThresholder: remove misleading comment
ApplyThreshold: add javadoc TODO reminder
ApplyThreshold: use Comparable<? super T>

The Comparable interface is not recursive... rather, it should be
allowed to use _any_ Comparable implementation that is as general as,
or more general than, the type T. This approach (Comparable<? super T>)
is the typical pattern in the Java standard library.
GlobalThresholdTest: use clearer test method name
GlobalThresholdTest: use simpler op invocation
GlobalThresholdTest: use clearer output var name
ComputeThreshold: generalize javadoc

It isn't guaranteed that the computation uses a histogram.
Threshold: clarify javadoc

The "threshold" op can be either threshold computation or application.
WIP: rejigger ApplyThreshold class hierarchy
MapI2I: fix javadoc
Rename Otsu to ComputeOtsuThreshold

This name is clearer about the purpose of that specific class.