Add a jenkins.rake for submitting builds to jenkins

This commit adds a jenkins.rake file to the packaging repo. The jenkins tasks
enable the packaging repo to kick off packaging builds on a remote jenkins
instance. They work in a similar way to the :remote tasks, but with a few key
differences. The jenkins tasks transmit information to a jenkins coordinator,
which handles the rest. The data passed are the following
- a git-bundle from HEAD of the current project, which is cloned on the
  builder to set up a duplicate of this environment. This uses the existing
  git-bundle functionality of the packaging repo. This allows us to design
  generic jenkins-jobs that are project-agnostic.
- a build parameters file, containing all information about the build
- the "type" of build, e.g. rpm, deb, gem, etc The jenkins url and job name
  are obtained via the team build-data file at
  git@github.com/puppetlabs/build-data
- the project we're building, e.g. facter, puppet. This is used later in
  determining the target for the build artifacts on the distribution server

The tasks post to jenkins via curl, with an assembled string of arguments
including the files to upload and the appropriate json. Information about the
jenkins job and url are obtained from the extras data loaded in from the team
builder_data.yaml file. This commit adds tasks for deb, deb_all, mock,
mock_all, gem, and dmg.
Add comments to load_data_from_yaml in 00_utils.rake
Name the parameters file a git sha

By naming the parameters file the git sha, we ensure params file uniqueness
among those created within the project, and also provide an easy way to track
builds that are sent to jenkins.

Signed-off-by: Moses Mendoza <moses@puppetlabs.com>
Add retrieve task

This commit adds a pl:jenkins:retrieve task for retrieving packages that
jenkins has built from the distribution server.