Cleanup RepositoryPublisher task

Previously, the RepositoryPublisher task required quite a bit of
explicit configuration and was written inside of a build.gradle
script.  This change promotes it to a top-level Groovy file in the
buildSrc project and refactors it such that it only needs a repository
root configured.

[#52056663]
Merge 52056663-s3-keys to master

[Completes #52056663]