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
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
Updated from global requirements

Change-Id: I92903d6cc83df1127bd9fbd5db77441def43f9dd
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"