SRAMP-609, SRAMP-547, SRAMP-466: ArtifactBuilder

Really, SRAMP-609 implicitly corrected the other issues.  However, keeping the commits separate for readability.  If this ever needs backported, *all* the commits should be taken in one shot -- don't attempt to separate them.
This shadows a field in AbstractArtifactBuilder.  I found that confusing when reading through the code.  Perhaps this should be pushed down to AbstractArtifactBuilder?