Import discovery-ironic element from upstream DIB review

Imported patchset 11 of https://review.openstack.org/#/c/107672/
Enable building of discovery-ironic ramdisk in instack-build-images
Updated discovery-ironic with fixes after Gerrit review

Imported patchset 1 of https://review.openstack.org/#/c/122151/
Load discovery image into Glance
Checkout dib-utils in addition to DIB from instack-virt-setup
Adds a discovery-dhcp element

This element adds a systemd service that spawns a dnsmasq process.
TODO: add configuration - interface and dhcp alloc. range.

This dnsmasq process is intended to serve only new and undiscovered
machines. Already enrolled hardware continues to be served by the
neutron-dhcp-agent spawned dnsmasq process(es) (and this/ese is/are
already explicitly told not to answer calls from unknown machines).

The element uses iptables to block dhcp/bootp requests from already
enrolled hardware (by querying ironic), in pretty much exactly the
same way as the older bm-dnsmasq element, with a cronjob setup to
periodically update the chain (to include for example recently
discovered machines).

One drawback of this approach is the limit with which the MAC
filter can be invoked by cron (x>=1minute integer value). An
alternative is to have a bash script managed by the systemd service
that loops forever (and updates every x seconds). Regardless of the
time interval an alternative to using iptables is to use a dhcp
hostfile (passed to dnsmasq when invoked) and update that with 'MAC,
ignore' entries (and then sighup dnsmasq) as a means of filtering.
Add discovery-dhcp element to undercloud insallation
Merge pull request #19 from gfidente/dib_utils

Checkout dib-utils in addition to DIB from instack-virt-setup
Switch to using a $NODES_JSON to register nodes
Add needed patch for dib-utils
Allow patch to fail gracefully so the cherry-pick doesn't start failing once it merges
Merge pull request #17 from Divius/master

Support Ironic hardware discovery
Update koji build for dib-utils
Add dib-run-parts-update element to the undercloud
Must install qemu-img since we are not installing dib as a package
Fixes instack-deploy-overcloud for $NODES_JSON
Wait for the right number of nodes to be available
Fixes instack-test-overcloud for $NODES_JSON
Add install of python-futures for python-swiftclient
Remove neutron-openvswitch-agent from Cinder and Swift image builds, as it is not needed