Upgrade bootstrap-datepicker.js to latest version

Upgrade required to fix bug where date selection from previous and next year was wrong.

Closes-Bug: 1270884

Change-Id: I7cb6f7f5fd0a709cbf0c1325e832c92ec382b12c
Enhanced error message when router creation failed

Changed error message to show when the router creation
fails due resource quota restrictions.

Change-Id: If5a43d4132adc653694cc42c3d658ca2d88adc33
Closes-Bug: #1278482
Hide column on multi_select tables if no actions available.

This patch will add a runtime check to hide/show checkbox columns
on multi_select tables.
Right know the behaviour is calculated once but does not take in account
the dynamic allowed call of each Table Action available.

The change will add 'hidden' class to the first column if table actions
are present but all of them returned False on allowed() call.

Change-Id: Ia4512abe3dbb5de4581673717eb518b2d3a50291
Closes-Bug: #1271194
Redirect to the proper tab on creating vol/snap

Automatically redirect user to snapshot
tab when creating an snapshot from volume
and redirecting to volumes tab when creating
volume from snapshot

Change-Id: I097383a470be9727c93f61efcf1dfe0359613413
Closes-Bug: #1288304
Ensure TabGroup to handle bad GET parameter

TabGroups and thus TabViews and TabbedTableViews don't handle bad GET
params well.

Example:  project/volumes/?tab=<!--
results in a "ValueError: need more than 1 value to unpack" error.

Change-Id: I7faf4f8c1c5c1f0ea078615282e7a7fbae2384b2
Closes-Bug: 1291567
Use built-in print() instead of print statement

In python 3 print statement is not supported, so we should use
only print() functions.

Fixes bug 1226943

Change-Id: I721e67c917ba7018401ad40ef30081883dcec420
Integration tests - page objects pattern

First pages:
* pageobject - the base page for all page objects
* loginpage - the login page object
* basepage - base class for all dashboard page objects
* adminpage
* projectpage

First test:
test_login - a basic scenario test:
* checks that the login page is available
* logs in as a regular user
* checks that the user home page loads without error

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

Partially implements blueprint: selenium-integration-testing

Change-Id: Icad82f5f7810c348ddc30cd767f1d3bf5ecb926e
Fix create instance workflow help typo

Change-Id: If906e02b6114225efaa95e29728d0f285b38a23f
Add missing mock for cinder.default_quota_get

When running tests, I get the following logs:

INFO:requests.packages.urllib3.connectionpool:Starting new HTTP connection (1):
public.nova.example.com

DEBUG:cinderclient.client:Connection refused:
HTTPConnectionPool(host='public.nova.example.com', port=8776): Max retries
exceeded with url: /v1/os-quota-sets/1/defaults (Caused by <class
'socket.gaierror'>: [Errno -2] Name or service not known)

Which signify, that there is a mock missing in the tests.
This patch adds that missing mock.

Change-Id: I4f79f533b729112d11c7165adde2ac751d49f46b
Closes-Bug: #1300141
Cardinal interpolation error

-Seems like for the big numbers, d3 is interpolating
 data badly and it is creating loops in the chart.
 So quick fix is to switch to linear interpolation
 as default.
-Other interpolation can be set with settings.

Change-Id: I82c1514dce6034b3cbc7f95682356a08301482b7
Fixes-bug: #1295537
Remove unused openstack.common modules

They are not used in horizon code base and out-of-date for a long time.
It is time to remove them.
- notifier and rpc graduated oslo-incubator and are distirubted as a
  separate module (oslo.messaging).
- uuidutils is now deprecated in oslo and standard uuid module is
  recommended to use.
- For other modules, we can re-add them if they becomes needed.

Partial-Bug: #1296337
Change-Id: I7cb569954384fd39e9f91316f5e22ca63f4a00ee
Fix documentation about adding a new dashboard

Since blueprint plugin-architecture has been implemented,
the preferred way to add a new dashboard is a configuration
file, rather than an entry in INSTALLED_APPS.

This patch changes the developer documentation to reflect
this change.

Change-Id: I569b22b81da1442ec9bed13d50ebfccfff093ac7
Fix settings titles and underlines

Change-Id: I8602fcaf20fb0b84ab26fe981e295dc595ad3fc4
Closes-bug: #1301298
Don't ignore the HORIZON_CONFIG['user_home'] setting

Dashboard has its own splash, with a hardcoded get_user_home that
igonres HORIZON_CONFIG. This patch makes it use horiozn.get_user_home
which actually checks the user_home setting, and with the default
settings.py, uses dashboard's get_user_home anyways, but allows for
changing that default behavior.

Change-Id: Id2d957f0cd8fbbbbb8f2c053f0c5df4be177e18c
Closes-bug: #1301935
Merge "Fix settings titles and underlines"
Merge "Don't ignore the HORIZON_CONFIG['user_home'] setting"
Improve Host Aggregates handle method.

Added update conditions to the handle method (remove
and add hosts).
Previously, to perform an update, first all existing hosts
were removed and then all new hosts were added.
Now, the update method only
remove or add the changed hosts.
Added missing unit tests for the update.

Change-Id: I52acdd1226be504cf2d0cf029353dbf80e4aa01a
Closes-bug: #1287192
Add a timestamp parser for jquery tablesorter

In order to be able to sort columns containing timestamps,
a new parser for jquery tablesorter needs to be added.
This patch implements the above mentioned parser.

Change-Id: Ic02dc630082b3befbafd458c6fe9ddaba9d958ae
Implements: blueprint tablesorter-timestamp-parser
Merge "Enhanced error message when router creation failed"
Merge "Improve Host Aggregates handle method."