Provide utilities to automate secure secret key generation

Implements blueprint automatic-secure-key-generation

Reduce the likeliness that the (commented-out) default key is abused
and document possible options instead.

Also use a non-empty SECRET_KEY for development / testing environments.

A later patch would make it a hard error if no SECRET_KEY is defined
(i.e. Django defaults to an empty string which is anything but secure).
Unfortunately, I can't do it now as the devstack integration test would
fail (they don't set a SECRET_KEY either) currently. So, when this
blueprint is accepted, I would submit a fix to devstack and afterwards
add the error message to warn the user about insecure defaults.

Addressed PEP-8 issues

Change-Id: Ifdab8e6b6fb3025fde7a2b92beb046ec9c5cba7f
Summation rows handle None correctly.

Fixes bug 1010220.

Change-Id: Ib39520c131f4c27843deaee5d737e87e2cb35906
Volumes Redux.

Makes all volume-service interactions optional (includes
volumes displays and volumes portion of launch workflow).

Splits Instances & Volumes into separate panels to
facilitate Volumes being optional.

Adds an admin Volumes panel to complement the user
Volumes panel.

Adds the capability to mark Steps in a Workflow as
requiring a given service.

Implements blueprint nova-volume-optional.

Change-Id: I3fb4255617ae52be64e7a300afd691dc36b95586
Includes LESS files in bdist packages.

Incidentally cleans up some files that didn't exist in the
MANIFEST.in file.

Fixes bug 1016085 but now needs to be followed by a fix for
bug 1020799 in the future.

Change-Id: I8a53bb17f14afdad61513afa67de7134722c49e9
Fixes behavior of the 'check-all' checkbox

in tables. Currently the on('click')
delegate is being invoked several times
from the wrong place, thus allowing another
on('click') delegate to be executed before
this one, which changes the expected behavior.

Fixes bug 1019088

Change-Id: Iba2b3549090f7bd42fc8b029ed42163951cb9e22
Allows filtering form field to be selected.

Fixes bug 1017856.

Change-Id: I8210b5c735acbe06b9ec615e03028ba585d04bca
Makes API endpoints discoverable for an end user.

Fixes bug 1021502.

Change-Id: Iafe0327bcb00e45cdf8688604c77d0aed9f22895
Provide user-selectable timezone support.

Makes the user settings panel useful for settings of
all sorts, too.

Change-Id: I88d68b888842c21ba168beaae0b991789a8f8072
Fix run_tests.sh --pep8 jenkins interaction.

run_tests.sh is duplicating work that the jenkins does already, namely, it's
trying to write out pep8.txt - but the jenkins pep8 job writes out pep8.txt
based on the stdout of running tox -epep8.

Fixes bug 1021513.

Change-Id: I433396244b4928de6714dc6145ef84400d2d822d
Merge "Fix run_tests.sh --pep8 jenkins interaction."
Merge "Allows filtering form field to be selected."
Adding Better Error for Launching Instance

When there is no images available to launch
an instance from, I have added a better, more
educational error message for the user to see.

Change-Id: I3260e721cefb9478213c1f58e61dbceae31421bf
Merge "Fixes behavior of the 'check-all' checkbox"
Allowed empty file for upload

Fixes bug 1009846.

Upload form in Containers now allows empty files
to be uploaded to Swift.

Change-Id: I4ff4506eae4e9dc0b9d39348cc80780995d1d0ac
A description is not required for a Project creation.

Change-Id: I82e5fad8c514bf3b31c1fb76c05653c9a2917acd
Auth refactor.

Switch to using the self-contained django_openstack_auth
package which is a proper django.contrib.auth pluggable
backend.

Notable functional improvements include:

  * Better overall security via use of standard Django
    auth code (well-vetted by security experts).
  * Token expiration checking.
  * User "enabled" attribute checking.
  * Support for full range of Django auth attributes
    such as is_anonymous, is_active, is_superuser, etc.
  * Improved hooks for RBAC/permission-based acess control.

Regarding the RBAC/permission-based access control, this
patch moves all "role" and "service"-oriented checks to
permission checks. This will make transitioning to
policy-driven checking much easier once that fully lands
in OpenStack.

Implements blueprint move-keystone-support-to-django-auth-backend

Change-Id: I4f3112af797aff8c4c5e9930c6ca33a70e45589d
Merge "A description is not required for a Project creation."
Merge "Auth refactor."
Merge "Adding Better Error for Launching Instance"
Remove glanceclient.AuthorizationFailure exception

The glanceclient.AuthorizationFailure exception isn't raised anywhere, so
remove it.

Counterpart of bug #1015940

Change-Id: I12f5aad609a30a1a2f374331e17b00c0232b0a45