Add a helper script to work with the ImageJ Maven repository

The helper offers to install artifacts and their dependencies, or inspect
pom.xml files, from other shells scripts.

This shell script was developed in the Fiji project (under the name
"bin/precompiled.sh") but is too useful to limit to usage inside Fiji.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Make maven-helper.sh more robust

We encountered some pom.xml files (notably in Fiji's FFMPEG_IO
subproject) that were not handled correctly by the script.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
maven-helper: cope with invalid .jar files

Sonatype's Nexus finds it funny to reply with an HTML response when
it does not find a given .jar file (rather than replying 404 as any
well-behaved web server should). Cope with that.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
maven-helper: optionally extract the <packaging> setting

If there is no <packaging> section, Maven defaults to 'jar'.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Add a deploy helper

When running 'mvn deploy', Maven thinks it is okay to re-deploy
non-SNAPSHOT versions.

Even with -SNAPSHOT versions, it is not helpful to deploy unchanged
artifacts, because everybody who builds dependent projects will have
to download 'new' versions unnecessarily.

This helper script scans a Git checkout for artifacts that really
have changed, and deploys only those.

This shell script has been developed in the context of Fiji originally,
but it is too useful to be confined to that project.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
incremental-deploy: deploy aggregate POMs more intelligently

For aggregate POMs, there is no way to determine the commit from which
they were deployed. However, we can be clever about it nevertheless:
they only need to be deployed when at least one of their children
was deployed.

While at it, we explicitly only handle 'jar' and 'pom' packaging
(and not, say, 'nar').

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>