MatrixProject Support

Add multi-configuration MatrixProject support to Generic, Ant/Ivy,
Gradle, and Maven3 configurators
HAP-470 - (1) Using BuildRetentionFactory to get the build retention values instead of proprietary logic (2) calling setBuildRetentionCount() instead of setBuildRetentionDays()
HAP-470 - using getBuildDiscarder() instead of the deprecated getLogRotator()
Merge pull request #2 from john-dodson/master

MatrixProject Support
HAP-373 - For multi-module M2 release builds, don't publish artifacts

When releasing a single Maven module with the M2 Release plugin, the
ArtifactoryRedeployPublisher does not publish any artifacts. This was
implemented under HAP-93.

This change makes multi-module Maven builds act the same way. The
artifactory plugin will act as if there is no ArtifactoryRedeployPublisher
configured when performing a M2 Release, and so will not deploy artifacts.

See also JENKINS-16780, which appears to describe the same bug.