Restyled sidebar to resemble UX guidelines

Partially-Implements: blueprint navigation-styling
Closes-Bug: #1365680

Change-Id: I37e603ee5ba310ba5f18b69df4c1cd6fa529c1d9
Add form regions to integration tests

I have implemented some new form regions and used them in currently
existing pageobjects. I also created method for switching on/off
web driver implicit wait.

* Form has automatic field discovery and form's field properties are
  initialized on the form object initialization. One must submit tuple
  of field names that must be submited in the same order as in the page
  html code.

* All newly created field regions are added automaticaly to FieldFactory
  field list.

* Forms can be initialized without specifying the source element, as a
  result it will be assumed that source element shoud be found according to
  default locator (as it is quite common that forms are located under
  this locator)

Partially implements blueprint: selenium-integration-testing

Change-Id: Ic954ea1829135efdc5dd6a34840de5045b4a7a56
Quotas for users with admin role do not work

The quotas code does not isloate counts to resources within the
current tenant/project.  So if a user with the admin role makes
calls for quota items, the admin role will have counts of a global
list of resources.  This changes that for the tenant quota call
to fallback to the request.user.project_id if no project was
otherwise specified for the tenant quota api call.

Change-Id: Ib0e6ce7774c4c03686a044f233dbb9aa36dbe1b9
Closes-bug: #1391242
Handle situation when endpoint deleted

when the cinder services exist but endpoint deleted, accessing
to /project/access_and_security will cause an error:
IndexError: list index out of range

Change-Id: Iad7f72cd5247f33245f25a8092c40a4d3a04cef9
Partial-Bug: #1394900
KeyError on getting PanelGroup

When trying to get a PanelGroup at runtime and
you specify a nonregistered panel, a KeyError is
thrown when calling Dashboard.get_panel_group.
Retrieving values from a Dict using the [] formulation
results in a KeyError for non existent keys.  Using
Dict#get returns None for non existent keys which is
what this change does.

This is relevant to the dynamic panel efforts going on.

Closes-Bug: 1396682
Change-Id: I532c3be04fdd229dfd8e01b68320b2eecb6fd866
Merge "KeyError on getting PanelGroup"
Merge "Handle situation when endpoint deleted"
Merge "Restyled sidebar to resemble UX guidelines"
@import font-awesome styles, instead of including

Currently the styles are included in stylesheets.

Properly import the font-awesome styles in our horizon.scss file,
so that we can set the variables and use the classes in our own
styles.

Change-Id: Ief1296d9c901ee4f6e6ebfdfa92347d5a8e4b9f1
Merge "Add form regions to integration tests"
Merge "Quotas for users with admin role do not work"
Merge "@import font-awesome styles, instead of including"