Create Interval class

Create a simple Interval class for representing a range between 2 points
on a number line.
Create ClassifiedRegion class

Regions in this context are an arbitrary collection of Intevals (one per
dimension).

Each region can have 1 or more class (integer values) associated with
it, as an extra piece of metadata significan to that region.
Fusion: reduce overlap fusion runtime

The previous overlap fusion mechanism was, for each pixel position,
check each image to see if that image contains the current position. If
so, add its value to the fusion for that position.

Certainly we want to fuse one output position at a time to avoid a huge
number of PixelFusion objects, but the #pixels X #images complexity was
killing performance.

We want to do as little work as possible during the fusion process. So,
using the ClassifiedRegion class, fusion with overlap will now spend
some processing time up front to determine each non-overlapping
sub-region, using the associated images as the classification values.

For example, if image 1 and 2 overlap partially, we will come up with
one or more "image 1" regions, one or more "image 2" regions, and one
"image 1 + 2" region.

Positional iteration is then driven by these regions, as each knows
exactly which images to pull values from when fusing.

Time reductions will be seen as a function of the number of images being
fused. This was benchmarked with a dataset with 153 images, which
resulted in a 10X improvement in performance.
Bump stitching plugin version

As this is a new fusion implementation, bump version to 1.03
Interval: update setters to preserve integrity

If the manual setting of a start or end point would invalidate the
interval, the corresponding end or start points are updated to be valid.
Add equality methods to Interval/ClassifiedRegion

Factored out the Fusion#sameTile method, as it makes much more sense to
put that logic in the Interval and ClassifiedRegion classes themselves.
Interval/ClassifiedRegion: rename ignoreOverlap

Changed this flag to "exclusive" as it makes much more sense this way.
Create unit tests for new classes

Added unit tests for Interval and ClassifiedRegion classes.
removed local variable that is never read
made min[] a local variable in the loop
just casting to (int) behaves differently for values smaller or bigger than
zero, therefore Math.floor() first
location of the end point was wrong by 1
removed the exclusive flag as it is somewhat confusing and not used, might
be related to the bug in the fusion

refactored start and end >>> min and max. This way it is clear that both
points are always inside. It allows follows the ImgLib2 notation to avoid
confusion.
fixed the bug that resulted in black lines in the overlapping images
reason was that former start was treated as inside, while former end
was treated as outside
moved the ClassifiedRegion and the Interval out of the package containing the
deprecated Stitching code into the Fusion package
Update tests for latest API

Updates the ClassifiedRegionTest and IntervalTest to be in line with the
current API
Interval: remove obsolete javadoc refs
Update writeBlock to match fuseBlock

Added the tile-driven speedup logic to writeBlock so that it now
operates equivalently to fuseBlock.
Fusion: correct output position calculation

Needed to adjust the output position based on offset, otherwise when
computing the offset the intervals would go negative.
Fusion: add javadoc

Documented the buildTileList method.