_get_server_floating_ip is not returing a float in all cases

In some cases.. depending on the tenant networking _get_server_floating_ip
was not returning the float. This change properly goes through all networks
and returns the floating ip address.

Change-Id: Ie48b0c48a5969589d921cb5f27b4174422837286
networks in the openstack host env can vary open default ansible_ipv4 for tempest

Noticed in some env default and private are the same address.
Ensure tempest can connect to the controller by openging the
port to the default ipv4 address
"tempest_default_ip": "192.168.40.3"
"tempest_private_ip": "192.168.40.3"
"hostvars[tempest_name].ansible_default_ipv4.address": "192.168.50.3"

Change-Id: I7087701c63906f2a9843a4479947eb4fe8c7fd4e
Refactor and simplify bash scripts

Simplifies run.sh by
- moving all common methods to functions.bash
- sharing the generate_settings_file function between run and
  generate-settings-file.sh
- making setting.sh into an executable script so that the
  following works
      source /path/to/my-khaleesi-settings.rc
     ./generate-settings-file.sh icehouse-multi-rhel7.yml

Change-Id: I4bda6e46fd1ada953c64a581303921cb374f1007
cleanup.sh: includes functions.bash

Change-Id: I3d7ef491951df2e57625df119ff0a0479ee78f0b
backup ml2-plugin provision.pp

Change-Id: I06ab9c025e25520709fc017a22f51d8e94b83bc7
WORKAROUND for multi-host provision

Change-Id: Ic84000dac7775e0d51016071d9ebdebf1c84b4db
BZ:1080369 - Workaround to patch provision_700.py

Bug: 1080369 prevents multinode installation.
This changeset workaround the issue by copying a patched version
of provision_700.py if the installed version of openstack-packstack
matches any of the regex in packstack_versions_to_patch list.

Change-Id: I2dc331637f1152cf401d103853c5dbd4a19f9fb7
Adds mission provision tag

Change-Id: I6b9c084e6d95f997d9aa0360cb09c17d7dec6de0