Apply defaults to job-templates parameters

I had the use case of a lot of projects sharing the same job template
that uses a lot of variables.  That requires each project to define all
the variables even if they are mostly identical.

This patch propose to define varialbes as 'defaults' and have them
applied in the job-template magically (oneline diffs always have that
feeling to me).

So instead of:

- project:
    name: project1
    arch: amd64
    builder: debuild
    lintian: true
    jobs:
     - '{name}-build-{arch}'

And so on ...

I can just:

- defaults:
    name: sanebuild

- project:
    name: project1
    defaults: sanebuild
    jobs:
     - '{name}-build-{arch}'

And override the arch as needed either in the project or by passing it
to the job.

Without this patch, the provided yamlparser fixture
template_honor_defaults.yaml would raise:

    arch parameter missing to format echo Build arch {arch}.
    Given: {'': '', 'jobs': ['build-{arch}'], 'name': 'project-name'}

Change-Id: Ida1e27eb47356d9cae42175743bd2fd52eb9d869
Adding feature to specify the user id for jenkins user credentials

This feature allows one to specify the user id for the jenkins
ssh-agent-credentials in the wrappers section of the yaml file.
Also providing yaml and corresponding xml files for testing.

Change-Id: I6c19945450c6ef55fead72c32594adb5a9b807c6
SCM: rename `self` arguments to `parser`

For consistency with other modules.

Change-Id: Ia78173f0c895896751f4e17fff5fd47f3e9c1ad5
Merge "Adding feature to specify the user id for jenkins user credentials"
Merge "Apply defaults to job-templates parameters"
Add support for the Jenkins Valgrind publisher plugin.

Change-Id: Id5d460a8432b2ab875e8e7063f459ef15b942284
Merge "Add support for the Jenkins Valgrind publisher plugin."