Move 'mvn exec:exec' support in app/ into a profile

Defining the configuration outside any profile makes it impossible
for profiles to disable the exec:exec phase otherwise. And we will
have to disable this in the 'deps' profile when the annotation
combiner is to be run as a part of the assembly.

So let's attach the exec:exec goal to the test phase if, and only if,
the exec profile is active.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Update to pom-scijava 1.112

In particular, this bumps scijava-common to 2.7.0, which contains the
shiny new META-INF combiner we will use for uber-jar aggregation now.
Aggregate json annotations in uber-jar

[JES: attached the exec:java phase to the lifecycle to make sure that
the annotation combiner is run; also changed the package to avoid the
deprecated annotation combiner class; while at it, avoid writing to
src/assembly/all/ and instead write to target/assembly/all/]

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Remove obsolete annotation aggregation readme
Use the shiny new META-INF combiner for uber jar files

We need to combine more than just the annotation indexes: script engines
implementing the javax.scripting interface need to be declared in
META-INF/services/ for example.

Hence we introduced the META-INF combiner in SciJava-commons whose job
it is to know all the things that need to be combined and just do that.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Merge branch 'uber-jar'

This branch improves generation of the imagej-2.0.0-SNAPSHOT-all.jar,
using the shiny new META-INF combiner of SciJava Common 2.7.0 to do it.

Thanks to Johannes Schindelin for his efforts!