Add public API markers to targets and base tasks used by 4qs plugins.

Review Request #3746 — Created April 22, 2016 and submitted — Latest diff uploaded

jsirois, molsen, patricklaw, stuhood, zundel
The targets are sefl explanatory - we consume products of these
targets in plugin tasks. The fingerprint strategy is a core tool
in a task developer's toolbox.

If the task involves jvm code, then it may need do jar operations,
this exposes as public some of those tasks.

Ivy is marked public because it provides a custom exception that
doesn't inherit from anything descriptive - Ivy.Error is just an
Exception. We publish jars with a custom pom-publish task - where
every jar has a common version. Catching Ivy failures required
catching Ivy.Error.

I ran the unit tests locally to catch style or syntax errors.
Running the CI to be sure since we are getting so close to release.