Always trigger repo job

This is the first in a series of commits that will set up a callback system
within the jenkins on-demand job creation workflow. Currently, we only trigger
repo creation of packaging succeeds, and only trigger downstream (if passed) if
rpeo succeeds. The downside is, for external pipelines, there is no visibility
into the status of packaging - it just stops, and no notification is recieved
of failure. To remedy this, we will be modifying the workflow as follows:

Whereas before the repo job only triggered if packaging succeeded, now the repo
job will _always_ trigger, but repo creation will only happen if the upstream
(packaging) job succeeded.

Whereas before, if passed in, the downstream job only triggered if repo
creation succeeded, now the downstream job will always trigger. However, the
downstream will be augmented with a parameter, "PACKAGE_BUILD_STATUS", which
will be a string, either "success" or "failure" which will be defined by the
success or failure of the upstream (repo) job. In this way, we can notify the
downstream job (presumably acceptance) of the status of packaging, ensuring
success is only passed if packaging and repo creation both succeed.

Signed-off-by: Moses Mendoza <moses@puppetlabs.com>
Only build repos if upstream succeeded

This commit updates the repo composition job to query whether the upstream
packaging job succeeded or failed. Composition only occurrs if the packaging
succeeded. If packaging failed, this job fails also, so that the downstream job
can know about it. In this way the downstream job can query the status of this
repo job, and if it is successful know that the packaging job was successful
also.

Signed-off-by: Moses Mendoza <moses@puppetlabs.com>
Always trigger downstream job if passed

This commit updates the repo job to always trigger the downstream job (if one
has been specified), even if the repo job has failed. This way the downstream
job can trigger and notify of success/failure of packaging.

Signed-off-by: Moses Mendoza <moses@puppetlabs.com>
Move set -e in repo job to after success determination so we don't fail when we don't want to
Check for and and pass success status in downstream

This commit updates the downstream job to check for the success of the repo job
(which will have failed if either package build or repo creation have failed).
Depending on the result, the downstream job exports
PACKAGE_BUILD_STATUS="success" or "failure." This variable will then be
appended as a parameter to whatever was supplied as the downstream url, so that
the job can be notified. We switch to using --fail on curl so we get a good
exit code.

In order to accomplish adding the parameter to downstream, we add a new utility
method, add_param_to_uri, which adds the given string as a param key,value pair
to the uri. If we were sane we'd use the ruby built-in URI.encode_www_form, but
because we're not, because that will http encode it, which isn't what we want
since we're require the encoding provided by escapeHTML of CGI, since this is
being transfered in the xml of a jenkins job via curl and DEAR JEEBUS WHAT HAVE
WE DONE.
Update README.md for callback
Merge pull request #222 from MosesMendoza/RE-392/master/callback_success

Re 392/master/callback success