Change the exception type for Storwize/SVC driver

When create a volume from snapshot or clone a volume,
Storwize/SVC require the same size for the source volume
and target, if not, will raise VolumeDriverException.

For this case, InvalidInput is more appropriate.

Change-Id: I4383c2eb8758077b3029b862dd8b6f982e1850a7
Add retry_on_deadlock to db update methods

There's some known races that have been addressed in
Nova via a retry_on_deadlock deocrator.  Some known
cases in Cinder exist as well when dealing with updates
to quotas and reservations_expire.

This patch introduces the decorator to Cinder and hits
the methods known to be susceptible to deadlock as well
as some others that seem as though they'd fall into the
same category.

Leverages work that's already been done in Nova

Co-Authored-By: Vish Ishaya <vishvananda@gmail.com>

Change-Id: Ic807f4f8a333e4d5477f86e41eea40191637087c
Partial-bug: #1350466
Fix error log level in restore-backup routine

When doing backup-restore operation, it needs volume's size is not less
than backup's size.
But in backup-restore routine, when volume's size is bigger than backup's
size, it logs the the info of volume's size and backup's size to warn
level, which I think it should log the info to info level.
This bug fix it.

Change-Id: Ic7210e3b018053be7a6f567cd0a7b20d51d403b8
Closes-Bug: #1338481
Merge "Fix error log level in restore-backup routine"
Use auth_token from keystonemiddleware

auth_token middleware in python-keystoneclient is deprecated and has
been moved to the keystonemiddleware repo.

Closes-Bug: #1342274
Change-Id: I1aadbe24db63eb2507b088cd53886d7f2e192cab
Merge "Add retry_on_deadlock to db update methods"
Merge "Use auth_token from keystonemiddleware"
Merge "Change the exception type for Storwize/SVC driver"