AttributeError at attaching a non-existent volume

When user tries to attach a non-existent volume, AttributeError
exception is thrown in get_data function, where the right behavior
is returning [].

This patch is based in the solution proposed by Matthew D. Wood.

Change-Id: Ib6c5f83845e0056865a8ace82d9e2f4351d4be3e
Closes-Bug: #1288419
Adding cluster_template and cluster panels for Sahara

The cluster_template and cluster panels give the ability
to define and launch a hadoop cluster (made from
nodegroup_templates).  They are in the same commit because
some of the functionality of cluster_templates requires
that the cluster panel also exist.
This code was originally from:
https://github.com/openstack/sahara-dashboard

Change-Id: I85534b0dd97ce5def5f3a447d68c6aa206964f0a
Partial-Implements: blueprint merge-sahara-dashboard
Co-Authored-By: Nikita Konovalov <nkonovalov@mirantis.com>
Co-Authored-By: Dmitry Mescheryakov <dmescheryakov@mirantis.com>
Rename Host to Allowed Host

To avoid confusion between nova hosts and
database user host e.g. as used in a grant
statement we will rename that one to
'Allowed Host'

Updated launch dialog and users table to
use 'Allowed Host' consistently.
Updated launch dialog help text to clean
up some of the descriptions

Change-Id: Ice39cd6712eb757a4d0f5beaedcda580fbeb4acb
Closes-Bug: #1342134
Settings page ChangePassword page and their tests

Two new pages added: Settings page and ChangePassword page.
To test their functionality I wrote two tests:
1. test_user_settings_change
 * changes the system's language
 * changes the timezone
 * changes the number of items per page (page size)
2. test_password_change:
   changes the password, verifies it was indeed changed and
   resets to default password.

To allow the above I've made few changes in other places:
* projectpage - added the go_to_settings_page method.
* helpers - added Selenium's implicit wait for self.driver
  in order to use page_timeout for pages that don't load
  instantly.

https://wiki.openstack.org/wiki/Horizon/Testing/UI

Partially implements blueprint: selenium-integration-testing

Change-Id: I24e01cd13d4a63ffd82505e4fd9cc95ba887e882
Tolerate service catalog and endpoint connection errors

This is a fix for the issues encountered when a service is not
configured or a service endpoint is not reachable. This fix
will add tolerance for these errors so that an error message is
displayed but the dashboard page will still load, not an error page.
This makes it easier for the user to recover by allowing them to
go to a different page, select a different region, or logout. This
makes sense in many cases such as when a region only contains an
image service endpoint, or when a single endpoint is not reachable
for whatever reason.

It also adds permissions to the panels that require compute or
image services so that the dashboard will not display them if
the service is not configured.

To test these changes you will need to set up your keystone service
catalog so that not all services are available in all regions, or
some of the service endpoints are not reachable.

Change-Id: Ie04699d1fb1d4db13a7f4dcf1bdfd23bf21aab80
Closes-Bug: 1323811
Closes-Bug: 1207636
Replace UserManager with None in tests

Don't access keystoneclient's UserManager in tests. This should be
considered private data of keystoneclient and is not actually used by
horizon tests.

Change-Id: I261e79b31dfc7388adb3dc63a3a5e54042f05e54
Closes-Bug: #1347236
Merge "Settings page ChangePassword page and their tests"
Merge "Tolerate service catalog and endpoint connection errors"
Merge "Adding cluster_template and cluster panels for Sahara"
Merge "AttributeError at attaching a non-existent volume"
Merge "Rename Host to Allowed Host"