(CPR-8) Rake task for signing gems

This commit adds a sign_gem task into sign.rake that detached signs the
gem.
(maint) Update rsync_to to take an array of arbitrary flags

Previously rsync_to included a toggle to turn ignore-existing on or off,
which was sufficient for that use case. For the nightly repos,
--delete-after will also be added to the rsync_to call, so this commit
updates the method to simple take an arbitrary array of flags which are
conditionally appended to the default rsync flags. The default behavior
is still to have --ignore-existing included.
(maint) Remove unnecessary --ignore-existing flag

rsync_to already includes the --ignore-existing flag, so there is no
need to include it again in this call.
(CPR-64) Cleanup latest repo_configs on each ship

Previously, repo_configs for the -latest directories could include
platforms that no longer exist in the nightlies latest repo. This commit
updates the rsync call to be two separate calls, one for the -latest
directory to cleanup any old files, and one for just the $project, to
push out the new build.
(maint) Update rsync_to call in ship.rake

This commit updates the rsync_to in ship.rake to use the flags parameter
as an array to pass the excludes and ignore-existing flags. It also
collapses the two remote calls into the same retry_on_fail_block. If the
first call fails, we aren't going to make it to the second call anyway.
(maint) Update rsync_to calls in pe_ship.rake

This commit updates all of the rsync_to calls in pe_ship to remove the
redundant addition of --ignore-existing. It also updates the flags to
another call to be passed in an array instead of inline with the source
argument.
Merge pull request #317 from clantant/maint/master/jenkinsutils

(CPR-58) Move jenkins utilities into library
(maint) Remove RC (Release Candidate) references

With the introduction of nightlies.puppetlabs.com, we are dropping
RCs as part of the release process. So remove references in the
release tickets.
Merge pull request #331 from haus/maint/master/tweak_rsync_calls

(CPR-64) Cleanup latest repo_configs on each ship
(maint) Indicate ownership and type of the google thingy
Merge pull request #332 from kylog/maint/remove-rc-references

(maint) Remove RC (Release Candidate) references
(CPR-68) Dynamically create windows build job

This commit adds in the ability to create a dynamic jenkins job that
builds the windows MSI. It takes the git bundle used to build the linux
packages, and uses that version to build the msi.

We know to build the msi if :build_msi is set to true in
ext/build_defaults.yaml. If it is, then we're going to squeeze the msi
build job in after the packaging job, but before the repo job. If there
is a downstream job specified, that will be kicked off by the repo job
as always. If we are not building an msi, then the build pipeline
proceeds as normal (i.e. packaging => repo => downstream)

The main reasoning behind adding this work into the packaging repo is to
make it easier to build MSI's more frequently, and to have the versions
of all things in the msi in version control. Prior to this, the refs for
hiera/facter/puppet/etc. were tracked in the jenkins job itself. This
update allows us to maintain that information in ext/project_data.yaml.
(CPR-68) Add template for msi jenkins job

This adds in the template for the msi job. If :build_msi => true, then
we use this template. The job is kicked off as a downstream to the
packaging job, and has the repo job as its downstream. Otherwise, we do
nothing with this template, and the repo job is downstream of packaging.
(maint) Shorten Jenkins job name

Since this dynamically created jenkins job has a longer name, it's
actually exceeding the maximum path length allowed on Windows (260
characters). This is causing the job to fail when it's cloning into
puppet-win32-ruby. In order to fix this, we're using the short sha
rather than the long sha to name the job. Reducing the path by about 20
characters seems to fix the problem. Don't worry, though. I'm sure this
will come back to bite us again soon.
(maint) use execution method

This updates some of our existing library methods to use the execution
method rather than %x{}. Moving to the future!!!
Merge pull request #333 from melissaanne/add-msi-template-job

Add msi template job
(maint) Fix typo
Merge pull request #335 from melissaanne/maint/typo-fix

(maint) Fix typo
Merge pull request #334 from kylog/maint/tweak-wording-re-release-doc

(maint) Indicate ownership and type of the google thingy
Merge pull request #323 from clantant/RE-2569/master/signgem

(CPR-8) Rake task for signing gems