Ironic and baremetal install diskimage-builder with pip

This change installs diskimage-builder with pip instead
of from git, and only if the executable ramdisk-image-create
isn't already installed.

This allows the ironic and baremetal to consume the latest
release of diskimage-builder by default, and gives the option of
defining version constraints for which version to install.

If the dib service is enabled (which it isn't by default) then
diskimage-builder will already be installed from git and will
not be re-installed for ironic and diskimage-builder.

Change-Id: Ic6613a11e2c4fb7a1261b81cdc2cf958515e60cd
Install heat-cfntools and heat-templates repos

These projects contain agents which can be installed on custom
images. Installing these repos will allow a future change to
build a custom image containing these projects. This will allow
gating on any changes in these projects by running heat-slow
on the custom image.
The corresponding devstack-gate change is
https://review.openstack.org/#/c/92055/
Change-Id: I7b1343c094f755f79ddeb1bac3ff4c0daa3fb70c
A service to install diskimage-builder

Enabling service 'dib' will install the following repos:
* diskimage-builder
* tripleo-image-elements
* os-collect-config
* os-refresh-config
* os-apply-config

These repos are already pre-fetched in devstack-gate.

This will facilitate gating on changes in these projects by building
a custom image then running the heat-slow job against that image.

diskimage_builder is pip installed from the current git checkout
if the dib service is enabled. This allows devstack gating on
diskimage-builder changes while also allowing diskimage-builder to
be installed from releases for other scenarios (for example, ironic).

Change-Id: Ia911cdee86f5b2e2ba1557e5aa8bf392b92ef555
Merge "Ironic and baremetal install diskimage-builder with pip"
Merge "Install heat-cfntools and heat-templates repos"
Merge "A service to install diskimage-builder"