Added support for Github notifier

Change-Id: I79c7847aa8df4dd4f9f76567c461d016aa00c6c1
Implements: Archive publisher allow-empty setting.

The archive publisher did not allow setting the allowEmptyArchive setting in the YAML.
This change adds configuring the setting if it is defined in the YAML file. If the value
is 'true' then it is set, else it is 'false'. The default Jenkins behavior is 'false' disallowing
builds to pass without storing the archived data.

Updated the doc string to add that there is a default value (false) which is also the default Jenkins behavior.
Cleand up the value assignment, and typed it to a str().

fixed pep8 violation

Addresses patchset 3 request to update the doc string to use the test directly.
Would like to have more discussion around the second point in patchset 3 around having
the new code add a line of XML.

Change-Id: I5e0c9ed7e8ea669a8d0e8f267ebb02d5f0b6ae73
Merge "Implements: Archive publisher allow-empty setting."
Add support to specify GitLab version.

Change-Id: Iae3746540cb692b19278fd0bedae48bf976700d5
Add support for parameters in pipeline publisher.

Change-Id: Ie36d7c6a9daab17adf93586f79b92be0ed267c35
Merge "Add support for parameters in pipeline publisher."
 Explain howto use maven's pre/postbuilders

They're configured like the other builders but one needed to check the
source to verify this until now.

Change-Id: I97400ad9c7cb0dfb89fe2757c4bedce639e7ea24
maven-deploy: don't require id

The id element is eg. not needed for file deployment so don't make it
mandatory.

Change-Id: Ide83b18cbab6010033c3bd8e8264595d1d2d5fa2
Merge " Explain howto use maven's pre/postbuilders"
Merge "maven-deploy: don't require id"
Use yaml local tags to support including files

Add support for local tags which are application specific to allow
including of other yaml files or code from scripts. Allows for code to
be maintained and tested as seperate files, as well as reduces
duplication of yaml code that cannot be macro'ed or easily templated by
including it from a common file.

Adds support for the following tags:
  'include' - load file as yaml code
  'include-raw' - load file as data (for scripts)
  'include-raw-escaped' - load file as data with escaping braces '{}'
      as default for use with job-templates

Use configuration file options to provide a search path for the files.

Inspired by
http://stackoverflow.com/questions/528281/how-can-i-include-an-yaml-file-inside-another

Provide two sets of unit tests:
  - Test behaviour of yaml tags independent of any XML generation
      by comparing json result of yaml parsing to verify that certain
      tags do/don't recall the yaml.load() method.
  - Use YamlParser class to provide example usage of the include
      tags which result in XML output.

Requires use of PyXML to provide a consistent XML output that can be
reformatted in a predictable manner across multiple versions of python.

Change-Id: Ib90a07043112d4739d6529ceddbc9817668bcec0
Added config options to not overwrite jobs desc

When you do not specify any description for a job, right now it creates a
new one overwriting whatever you had put there manually. Now when
setting the configuration option 'keep_descriptions' to True, it will
only overwrite the description if you specified one explicitly in the
yaml.
That way you can avoid specifying any description and it will not
overwrite the ones you put there manually through the jenkins ui.

Change-Id: I408f5ee06a6939a8cb8f4f2e6c6e0d060462259c
Signed-off-by: David Caro <dcaroest@redhat.com>
Added matrix trigger option to email-ext publisher

Change-Id: I86655a2f4dac6c05c7ea28f12c23ca3b1153334b
Signed-off-by: David Caro <dcaroest@redhat.com>