Add the initial version of the Conditions API

This package provides a general framework for ops that perform boolean
logic. The code was migrated from net.imglib2.ops.condition, and adapted
to the ImageJ OPS paradigm.
Merge branch 'conditions'
Fix compile errors in Conditions API

The AbstractCondition class now extends AbstractOutputFunction, and
knows how to create its own outputs.

One unfortunate thing in the design right now is that the output is
typed on Boolean, which is immutable. So we actually need to compute the
value of the boolean in the createOutput method, rather than in the
safeCompute method as normal.

We may want to change this design before 1.0.0, to use a boolean-style
object whose value is mutable (e.g., BitType). Otherwise, the behavior
of the Conditions API is rather unintuitive, especially if a
preallocated Boolean is passed to the op, since its value cannot change.
DefaultEquation: extend OutputFunction

The default equation op already knew how to generate its output if it
was null... but after the switch to the twin output/strict hierarchies,
it extended StrictFunction and hence could never receive a null output.
It should instead extend OutputFunction and implement the createOutput
method according to its existing logic.
Add JTransform as dependency
Add fft and ifft interfaces
Add Abstract(I)FftIterable
Add Abstract(I)FftImage
Add Smooth Number Utility

A class to determine the next smooth number.  This is required so that
we can find the fast fft sizes.  Research and implemention performed by
Johannes Schindelin.
Add op to compute fft size
Add JTransform version of FFTMethods
Add FFTMethod wrapper ops
Add RaiRai fft/ifft
Add mines ops for tests
Add test