Refactors tempest role into setup and run

Splits tempest role into setup and run. Changes include
- split tempest/tasks/main into tempest/setup and tempest/run
- define appropriate defaults for the two new roles
- move common tasks to playbooks/tempest.yml
- minor: renames all tempest['foobar'] to tempest.foobar for legibility

Change-Id: Ibb788ed993b826de5dbcefe5d0995c5a539521d7
(cherry picked from commit 9646f6a7b79a38a6a9923845b4a30a2bcef9adeb)
get_nodes: more robust handling of network-type

When hosts are added, add_hosts gets called for 'nova' and 'neutron'
without verifying if the nodes_created and floating_ips have any value.
This resulted in long skip messages and fails when nodes_created is
None but floating_ips is just text "unchanged ... ".

This changeset
- ensures that tasks are skipped when any of the nodes_created or
  floating_ips is Node
- The task prints the current os_network_type and the expected_network_type
- simplifies when: '"{{ foo }}" == "bar"' to "foo == 'bar'"

Change-Id: I13daf729fa54c6198ccdde7ec669367712cd88e5
(cherry picked from commit fd98b455fcdc7baec2eb326377ef1be145c525a8)
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: Iaf59ea066c2909393b879a84326c633b69da5bfe
(cherry picked from commit 459e26a934baefe4070253b7ca1a397657a27666)