Add support for multiple port allocations

Change-Id: I156bccebdd392cd4a912599b5a2c815587e77134
Write cache to file on CacheStorage object delete

Use a destructor to write out the cache to file when the cache object
object goes out of scope, which will typically be on exit.

This ensures that the CacheStorage class behaviour is fully
encapsulated and doesn't require a caller to be aware to ensure the
cache is saved when finished. Although it may still do so.

Take care to preserve a references to any required modules since python
does not guarantee that any global modules will not be unloaded before
the destructor is called.

Change-Id: I2b066ceff5e23a725132569df85c004cd58b367a
Add support for the matrix-combinations plugin

This plugin allows a user to choose which matrix combinations
they want to run, as opposed to the default behaviour where
jenkins runs all combinations

Requires the Jenkins Matrix Combinations Plugin:
https://wiki.jenkins-ci.org/display/JENKINS/Matrix+Combinations+Plugin

Change-Id: I13205c81aa11523a4c3fc373820eb74863d0c7ca
Add fingerprint parameter to archive publisher.

In Jenkins 1.575 the option to fingerprint build artefacts has been
moved from Fingerprinter to ArtifactArchiver.
(https://github.com/jenkinsci/jenkins/commit/f43a450)

This patch reflects the change by adding an optional fingerprint
parameter to the archive publisher. The parameter recordBuildArtifacts
in the fingerprint publisher remains unchanged for backward
compatibility.

Change-Id: I231fdc38eb8343d646f24e7a31cafd29534c9fc8
add test for globbed parameters feature

add a test to verify commmand processing of the globbed parameters
feature to delete jobs.

Change-Id: Ib13a2c644388ac65cb1af5728019912d6452d852
Add MongoDB plugin support

Change-Id: I54dd77fb9697445b41b033347bc39eeef3b0f00b
Merge "add test for globbed parameters feature"
Merge "Add support for multiple port allocations"
Add support for the Jenkins Clang Scan-Build publisher plugin.

Change-Id: Ib892c790c370301e3e7ba04a83a9cfe38745c3ec
Merge "Write cache to file on CacheStorage object delete"
Add perlcritic capability to violations method

Since new jenkins-violation plugin already have support for it
- https://wiki.jenkins-ci.org/display/JENKINS/Violations

Change-Id: Iad2c1fb5771322682d072cbe8183134994e83ac1
adds safe-output to email-ext in publishers.py

adds support for Save to Workspace option for email-ext plugin

Change-Id: I9fa2ed87a6d715ec8f56def053f486e8bf628b13
Merge "Add support for the matrix-combinations plugin"
Merge "Add perlcritic capability to violations method"
Document node parameter usage with matrix projects

The Matrix Tie Parent plugin has been deprecated for a while and the
documentation for it in JJB mentions that it's deprecated, but the
documentation doesn't call out how to use the new way of doing it.  This
patch updates the documentation to explicitly call out that the node
parameter only controls the matrix job's parent job.

Change-Id: Ie784f6d90667a0bc66ae0efd3eda1974ddbac4f2
Merge "Add MongoDB plugin support"
Refactor checkstyle publisher

Change-Id: If829720c026ecffc6a5e1cede9aafa51d1ec86e6
Add parameter to trigger_parameterized_builds

For supporting ability to run downstream project on the same node
parameter 'NodeParameters' should be present in output xml.
Adding same parameter to 'trigger_parameterized_builds' publisher.

Change-Id: I7769507d8da138fe0944e1b5bc24ab595e787587
Merge "Add support for the Jenkins Clang Scan-Build publisher plugin."
Merge "adds safe-output to email-ext in publishers.py"