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.
Why more than one template?
How are these templates differentiated between, e.g. when a the build now hook is triggered?
Namely, how will the plugin decide which template to use?