Fixes unit tests (Issue 83, 58, 93, 29, 92, 95)
Issue 84: GPS location parsing doesn't handle NaN values

If a rational used for GPS is 0/0 it will be converted to 0 not NaN.
Issue 91: Use specialized exception for unsupported file formats

ImageProcessingException contains now public string constants, which
will be used for exception messages, such as a not supported file
format. You can check if the exception message equals one of these
messages, so you can alter your exception treatment based on the
exception message.
fixes findBugs warnings
Issue 72: Review StreamReader.skip logic + Issue 78,88 pom.xml changes

The problem is solved by using ByteStreams.skipFully() from the guava
library (new maven depency). Also the manifest.mf now contains
implemantion-version, -vendor, -title and the classpath.
Replaces FileUtil with Files from Google Guava.
ImageMetadataReader can now read web images.

Reverts path changes which were a result of merging. Also adds forgotten
test case for 83/93
Substitutes references to Exception with one of its subclasses.

Throwing and especially catching Exception instead of a subclass should
be avoided and only be done if necessary.
Removes redundant interface from Rational
Adds missing @Override annotations
Made methods static where possible without changing the method behaviour
Merged changes from Samuele Manfrin <sampisa>

Adds few metadatas to ExifIFD0Directory (0x0100..0x0102,
0x0115..0x0117)
Adds support of IPTC in TIFF images