Allow layered templates

Accept multiple template invocations per project, and also allow
adding individual jobs to a project that uses templates.

Change-Id: I6c668dd434c12bec96b9a27afd9fd2eca7a11d0a
Automatically provide 'name' to project templates

Provide the short name of a project (anything after the last '/') to
project templates as the variable 'name'.  If 'openstack/nova' invoked
a template, the variable 'name' would automatically be set to 'nova'
within the template.

Ideally this means that most template invocations in OpenStack's layout
will not need any variables defined.

Change-Id: I596744917c30c92041b8ea5b1f518d50fb64e59b