Make pagination tunable through the settings panel

This patch set expands on the fine work done in https://review.openstack.org/26022

It makes the number of items displayed a per-user tunable through
the "Settings" panel and a session cookie, with the default/max
values being the values set in django.conf.settings

Fixes Bug: 1046915
Change-Id: I38ef4845d46bce62e44209865885aff8eb0bac83
Adds d3.js library and reworked quota infographics

The d3.js library is now added and the quota infographics
have been redone to use d3.

Added a reusable animated d3 pie chart that is now used to
display the quota infographics.

Reworked the progress bars (horizon.quota.js) so that project
quotas when creating a new Instance / Volume display a progress bar
in D3. Also changed progress bar for adding a floating ip so that
it shows that 1 will be used up on create just like adding a new volume.

Change-Id: I2930c3c80736e50d3f38c001aac1918e1932be5e
Implements: blueprint d3
Add unit tests for customization module

Fixes bug #1077744

Change-Id: I06776131f746e0c3b5f95fed629cb3a60eb1f3d5
Enable parsing of Identity Service V3 catalog.

In Keystone V3, the service catalog in the token response
has been split into multiple entries per service. This change
checks the version of the Identity Service and performs the
appropriate parsing of the catalog.

Core code for Keystone V3 authentication are in openstack_auth.

TODO: Move to auto-detection of API versions when it is available.

Implements blueprint login-domain-support

Change-Id: I69073e5744def037caf522b1123755668887cfd9
Changes generic error message in horizon.modals.js

The former error message guided user to try an activity again
that either has no chance of success or might even be harmful.

Fixes: bug #1177518
Change-Id: I082ff0fd033b34895621929c8325b272c3c3ce29
Ensure an error message in LBaaS is displayed once.

Fixes bug 1160920

This commit also changes the following:
- Fixes wrong messages like 'Added Monitor "Add Monitor".'
  in AddMonitor and AddMember.
- Moves validation for cookie_name in handle() in AddVip class
  to clean() method.
- Improves an error message for member check in AddMember action
  and removes an unused member check in handle().
- Make LBaaS forms modal.
- Changes all lowercase and capitalized "vip" to "VIP".

Change-Id: I96f76d2f2177c0789ae4e939484f3965ba93d86c
Add ability to create a volume from an image

Currently there is no way to get data onto a volume through the
dashboard without taking manual steps in a guest. It's possible to
create a volume from a snapshot, but there's no way to get data onto a
volume to create the snapshot in the first place. Creating a volume
from an image is particularly useful when booting from a volume. This
was implemented in cinder and nova-volume in Folsom. Expose this to
dashboard users as well.

Create a new action for this on the images panel, reusing the 'Create
Volume' form. Also make this possible from the volumes panel, by
adding a 'source type' field to the 'Create Volume' form. This lets
users choose among no source (the default), snapshot, and image, hiding
the lists of snapshots and images when the corresponding source type
is not selected, similar to the 'image type' field in the 'Launch
Instance' workflow.

Use the same infrastructure as creating from a snapshot to update the
size and name based on the image size and name.

Extract the image listing code out of the instance panel, into a
generic utility module. Also add a size conversion function, since
image sizes are reported by glance in bytes, while volumes are
specified in gigabytes.

Change-Id: I8314ab011734d80d5f611b338ed6e2538e6bab7e
Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
Correct a wonky translation from commit b7e3624

Fixes Bug: 1179740

Change-Id: Idcb6a62292c30c917333357fc8058b6b9bdd33fc
Merge "Adds d3.js library and reworked quota infographics"
Merge "Ensure an error message in LBaaS is displayed once."
Merge "Correct a wonky translation from commit b7e3624"
Merge "Enable parsing of Identity Service V3 catalog."
Merge "Changes generic error message in horizon.modals.js"
Merge "Make pagination tunable through the settings panel"
Merge "Add ability to create a volume from an image"
Merge "Add unit tests for customization module"