Sort security group rules by protocol and port

When adding new rules to a security group, it is useful to have the
rules sorted consistently across page reloads. This patch ensures
that the rules are sorted by protocol first, then by port. It is still
possible to manually sort the table using the client side capabilities,
but by default the table is now sorted by protocol and port, server
side.

Change-Id: I36d29461a8437f5689425706a7faae3399c6bf23
Closes-bug: #1326132
Ensuring environment data is passed to heat template validate

 - environment data was being passed to heat API on stack create,
   but not stack validate - meaning that templates that referenced
   environment files were not validating correctly

 - heat client does not support URLs for environment files - we will
   need to do this client side before POSTing back to horizon. future
   patch

Partial-Bug: #1322258

Change-Id: I40982b777abaec743ed6cbc527008522a619e817
Database Launch Form shouldn't autocomplete

The form element on the Database Launch page should have the attribute:
autocomplete="off" set.

I finally found the mechanism to add attributes to workflow-forms, so
please ignore my first change-set.  :-)

Change-Id: I3f7f4a24580bd2fa5a40ed673a8d33d81e6e9659
Closes-Bug: 1316226
Adding sahara client api code

This is the code that will interface with the sahara
library.  This is part of the merging of the sahara
dashboard into horizon.
This code was originally from:
https://github.com/openstack/sahara-dashboard

Change-Id: Icdec326e276e1cfeedae6d2fd6047051725f9566
Partial-Implements:  blueprint merge-sahara-dashboard
Co-Authored-By: Nikita Konovalov <nkonovalov@mirantis.com>
Co-Authored-By: Dmitry Mescheryakov <dmescheryakov@mirantis.com>
Merge "Friendlier information for lbaas members creation"
Add text to the Create Volume dialog's Type menu

The first value in the "Type" dropdown menu of the Create Volume dialog
was empty. This causes some confusion to the user because there was not
enough information as to why the value was empty or what would happen
when creating a volume with the empty type.

Adding text "No volume type" to the first value of the dropdown menu
explains that there will be no volume type associated with the volume
at creation time.

Closes-Bug: #1325701
Change-Id: Iaff5d413d4abe9c59d48a679094ea37930abc4c1
Merge "Fix for UPDATE_HORIZON_CONFIG listed as part of Icehouse in the docs"
Display Horizon version number in System Info page

This patch adds the Horizon version number at the bottom of System
Info page.

Change-Id: I81514d1c99a32cd8161a65535638c235c2cfc317
Closes-Bug: #1261431
Merge "Ensuring environment data is passed to heat template validate"
Merge "Not able to delete a pseudo-folder via horizon"
Merge "Removed the link to the outdated horizon demo"
Merge "Country names in capital letters"
Merge "Adding sahara client api code"
Merge "Add encryption indicator for volumes"
Merge "Fix testing fails on specific platforms"
Merge "policy checks for nova access/security actions"
Update customizing docs, css was replaced by .less

Docs still refer to style.css, but we're using horizon.less
for ages now. The docs should reflect that. The size of the logo
changed as well.

Change-Id: Ib4fc0624cc71e226895c7cef1567948d7f82d277
Remove warnings when generating docs

Sphinx generates a warning about having too few underlines under the
title "ADD_ANGULAR_MODULES". The generated docs are still correct
(title is generated with an underline), so this change only needed
to eliminate the warning messages.

Change-Id: I18e4cdfcb97bcb08ede98f921de1f975d9a64cf5
Closes-Bug: #1329562
Merge "Fix Instance Image Name cell value"
Merge "Update customizing docs, css was replaced by .less"