Fix unsaved exception in backup/drivers

When an exception occurs during exception handling, it loses the
information of the first exception.

We should use the excutils.save_and_reraise_exception() in some cases.

Change-Id: I5d0ea53ba6c52138c71cca61aedbdf06338f2a7d
Closes-Bug: #1292380
Only warn about deprecation warnings once

Instead of repeatly emitting data about which
modules are deprecated again and again just warn
about those deprecation once and then never warn
about them again.

This is a good thing to have, and will be needed
as taskflow moves one of its classes used in cinder
to a new and longer-term location and will emit
deprecation about the usage of the old location.

Change-Id: I962f9bab920a03eca235c9e4591d367687e44954
Use (# of CPUs) osapi_volume_workers by default

This changes the default number of cinder API workers to be equal to the
number of CPUs available on the host, rather than defaulting to 1 as it
did before.

Commit 75c96a48fc7e5dfb59d8258142b01422f81b0253 did the same thing in
Nova in Icehouse. Similar changes are being made to Glance and Trove as
well.

DocImpact: osapi_volume_workers will now be equal to the number of
           CPUs available by default if not explicitly specified
           in cinder.conf.

UpgradeImpact: Anyone upgrading to this change that does not have
           osapi_volume_workers specified in cinder.conf will now be
           running multiple API workers by default when they restart
           the cinder-api service.

Closes-Bug: #1333370

Change-Id: I8dec104800c18618e0c8422bbb93d5dc19c12876
Enable E121,E122,E123,E126,E128 hacking rules

This change enables E121,E122,E123,E126,E128 hacking rule and fixes
all violations found in Cinder.

Change-Id: Ibfdcb3e286393d932e1534500e31a5f90c031adf
Remove cinder.context warning logging

The code removed creates a large volume of log entries that are of
limited use. Removing them should improve the readability of the logs.

Change-Id: I2a7f20cfa6cd57aa7ae05bf9685947207cbb9502
Closes-Bug: #1329156
Updated from global requirements

Change-Id: I92903d6cc83df1127bd9fbd5db77441def43f9dd
Enhance docstring for iscsi_helper

The helptext for the iscsi_helper option did not mention the
potential to use lioadm (or fake). This patch simply amends
the text so this functionality is more discoverable.

Change-Id: I4bf4a6f77191a7f42d5b38f71759944e4997ccc6
Merge "Enhance docstring for iscsi_helper"
Merge "Only warn about deprecation warnings once"
Merge "Remove cinder.context warning logging"
Merge "Use (# of CPUs) osapi_volume_workers by default"
Merge "Enable E121,E122,E123,E126,E128 hacking rules"
Merge "Fix unsaved exception in backup/drivers"
Merge "Updated from global requirements"