Correctly handle javaAllOpts in case of repeatable config

If we are re-building an existing repeatable config, the
(undocumented) field "project-specific-all-java-options-combined"
will already contain the expanded and combined full list of
java options for this project. In that case, use again the
previously calculated value, of course.
Change "publish" to "subprojects" in the subproject selectors.
Docs fixes: deploy and notifications are inside "options"
Better patchIvyDependencies() in Assemble

Rather than trying to decompose and reassemble a new
ModuleDescriptor, which is bound to be incomplete, we
add instead a full wrapper, overriding the previous
dependencies and ModuleRevisionId with the new values.
That should preserve *all* of the information contained
in the existing ivy.xml file.

In theory we could use a similar approach also for each
DependencyDescriptor; however, these are much simpler in
structure.
Strip in all cases the original ver suffix before adding the new one

The option set-version-suffix was previously stripping away the
"-SNAPSHOT" suffix, if present; however, a different suffix like
"-RC2" or "-M1" was incorrectly retained.

The original suffix is now stripped away in all cases, before
adding the new one selected using set-version-suffix.
Merge pull request #156 from cunei/wip-mix-fix-8

A few fixes and improvements