Add method for checking if a point is in a Region

Region.containsPoint(int, int) will now tell us whether or not a point
is contained within the Region.  This really just delegates to
Region.intersects(Region).
Initial version of IMOD reader

Right now, only draws the points that are stored in contours.  Shapes
are not stored in OME-XML, and the shape metadata (aside from colors) is
not used when drawing the pixels.

See #5917.
Populate IMOD shape data

Closes #5917.
Handle OBJTs that do not follow sequentially
Parse physical size data
Add method for smarter array allocation

This method checks its arguments to ensure the array being requested is
not too large in size.
Use DataTools.allocate in a few key places

Essentially, anywhere that allocates a byte array as a product of
integers is a good place to use this method, to avoid the product
overflowing beyond Integer.MAX_VALUE. The allocate method will throw a
more informative exception, and also catch cases we wouldn't have
before, where the product overflows back into positive ints.
Improve style and javadoc minorly
Split safe multiply check into separate method

This allows its use in a more general-purpose way, where byte array
allocations is not relevant.
Add safeMultiply method for longs

This allows for checking 64-bit overflows in addition to 32-bit
overflows.

Note that the safeMultiply(long...) method algorithm is a bit different,
since we cannot promote the running total to the next highest primitive
type (as Java has no 128-bit primitive integer type). Instead, we count
bits of the two operands and throw the exception if the multiplication
would overflow. This method is fast, but not quite as fast as the
safeMultiply(int...) technique, so we leave the 32-bit algorithm alone.
Improved ROI parsing

The 'Closed' attribute is now set correctly on Polylines, and "wild"
shapes are represented as a collection of Points (not Polylines).
Move upgrade checking logic out of loci-plugins

In the very near future, it would be nice to be able to perform upgrade
checks from any Bio-Formats-enabled application (e.g. MATLAB).  So now
we do what should have been done from the beginning, and decouple the
actual upgrade checking logic from the ImageJ plugin that upgrades the
version of loci_tools.jar used by ImageJ.
Add missing logging and Javadocs
Add command-line utility to perform upgrade checks
Rename safeMultiply methods, to avoid ambiguity

This change is necessary to avoid compile errors in certain cases.
Fix problem with willOverflow method

The new approach is simpler and also more accurate. The old approach had
problems around edge cases. It assumed that:

  numBits(result) = numBits(a) + numBits(b)

But this is not always true. For example:

  2^4 * 2^4 = 2^8           <=>  16 [5] * 16 [5] = 256 [9]
  2^4+1 * 2^4-1 = 2^8 - 1   <=>  17 [5] * 15 [4] = 255 [8]
  2^4-1 * 2^5-1 = 2^9 - 47  <=>  15 [4] * 31 [5] = 465 [9]

So it seems the integer arithmetic involved is non-trivial.

Fortunately, we can use a simpler division test instead.
Add unit tests for DataTools.safeMultiply methods
Migrate ImgLib2 SCIFIO I/O classes from imglib2-io

This code previously resided in the ImgLib git repository:
  http://github.com/imagej/imglib

Specifically, it was the imglib2-io module (in imglib2/io subtree).
However, as part of the SciJava effort (http://scijava.github.com/),
we are working together to create a single common stack of imaging
software in Java. We decided that ImgLib2 would be at the bottom of
that stack, and that SCIFIO would depend on ImgLib2 to provide
higher-level I/O functionality. These classes are precisely that.

Hence, it makes sense to provide ImgOpener and ImgSaver as part of
SCIFIO core, rather than in a separate module, as long as SCIFIO is
already going to depend on ImgLib2.
Moved imglib2 components to ome.scifio.img package

Moved the IO components from imglib2 to ome.scifio.img. Package
declarations updated.
Moved getPlanarAccess and makeType to ImgIOUtils

These methods were in the ImgOpener originally. They will be used by
both the saver and opener, and were thus moved to the Utils class.