Support variable-specific substitutions in templates.

Change-Id: I6af84f48eaa4ee44c8d8babddd8d10a1e1095101
ssh publisher: add always-publish-from-master support

Allow to SSH from master, instead of hardcoding to false.
It's particularly useful when the SSH credential are only
stored on the master. Default is kept to False.

Change-Id: I365cad043d30b6b290828a24635322c7f5afc35e
Signed-off-by: Fathi Boudra <fathi.boudra@linaro.org>
matrix project: add support for dynamic axis

This axis requires the dynamic axis plugin:
https://wiki.jenkins-ci.org/display/JENKINS/DynamicAxis+Plugin

All the dynamic axis plugin settings are in the core project:

<matrix-project>
  <axes>
    <ca.silvermaplesolutions.jenkins.plugins.daxis.DynamicAxis>
      <name>config</name>
      <values>
        <string>config_list</string>
      </values>
      <varName>config_list</varName>
      <axisValues>
        <string>default</string>
      </axisValues>
    </ca.silvermaplesolutions.jenkins.plugins.daxis.DynamicAxis>
  </axes>

The plugin sets 2 values: axis name and variable name.
The axisValue element is hardcoded to 'default' in the plugin, so we do
the same in Jenkins job builder.

The matrix project supports multiple axes configuration, including dynamic
axis.

Tests added for:
 * dynamic axis (by itself)
 * multiple axes (dynamic and user-defined axes)

Tested on Jenkins LTS (1.554.2) with both the plugin installed and not
installed. The plugin is properly ignored in the latter case.

Change-Id: I36310bc512fd873fec4bd5f42937689fd178536e
Signed-off-by: Fathi Boudra <fathi.boudra@linaro.org>
Merge "matrix project: add support for dynamic axis"
Merge "Support variable-specific substitutions in templates."