Template based job creation

Adds capability of creating new projects for repositories with no job, using an existing Jenkins job as template, either using a single template for all unknown repositories or based on the repository name or group.

Although it doesn't merge automatically, I've cherry-picked the commits producing the conflicts and solved remaining ones, so it is safe to merge manually accepting changes from my branch (using -Xtheirs).

The only test I've not been able to fix is

    spec/values/project_spec.rb:113 # GitlabWebHook::Project when determining if matches repository url and branch when parametrized does not match when branch parameter is not of supported type

which produces a "only string parameters for branch parameter are supported" warning instead of the expected exception.
Just in case non-standard one is supplied. For example, if you are using git notes, which is my case. I use it also for tags, although I'm not sure if they are actually not fetched by default with git plugin.