Ensure FC ZoneManager is called

This patch ensures that the FC ZoneManager
is called during for all cases in Cinder
that does a volume attach/detach for FC
enabled drivers.
The problem was that we had code in the volume
manager that manually called the ZoneManager,
after initialize_connection and terminate_connection,
but other places in Cinder were not calling the
ZoneManager.
This patch creates 2 new decorators that can
be used for any driver's initialize_connection
and terminate_connection call.   The decorator
checks to make sure that the return value is for
a fibre_channel attachment and then calls the
ZoneManager's add_connection or delete_connection.
Change-Id: Ie3ae70785f500a140003ad3a8495e0ddc3516ea8
Closes-Bug: 1321798
Sync gettextutils.py from oslo-incubator

This pulls in the latest gettextutils.py from oslo-incubator.
The primary reason for this sync is to get commit
3d90045d2d1ce1df89f75937f415e3982e111063 which backports a
change from the new i18n library to check lazy enablement
at runtime.  Adding this change makes it possible to remove
the global enablement of lazy translation through
gettextutils.install().  Instead we will use gettextutils.enable_lazy()
with explicit imports of _() in each file where _() is used.

The change to remove gettextutils.install() and to add the
explicit _() imports will come in a dependent patch.

Current HEAD in OSLO:
--------------------
Merge: 3d90045d2d1ce1df89f75937f415e3982e111063
Date: Mon, 07 Jul 2014 17:55:18 +0000
Merge "Backport code for i18n to check lazy at runtime"
--------------------

Additional changes being merged (newest to oldest):
--------------------
de4adbc4 - pep8: fixed multiple violations
9912e5df - Add API for creating translation functions
6cc96d05 - Fix test_gettextutils on Python 3
--------------------

related - blueprint: i18n-enablement
Change-Id: I4706b89b0b64c5816a1a022b6cd1dfa01b29b5dc
Clean up base Volume Driver

This is a preliminary cleanup of the base
Volume Driver to prepare for adding new
architecture which keeps the Control calls
and connection portions of the drivers
seperated from each other.

This doesn't break existing compatability or drivers
but just makes some of the necessary tweaks and additions
to enable implementation of decoupled Control and Data
sides of the Volume drivers.

POC for this proposal is here:
https://review.openstack.org/#/c/104701/

FYI check-up2-date is going to be the death of us all!

Change-Id: Ifc844c49ee9ff1580d5da0879e7d499bed72dac1
Merge "Clean up base Volume Driver"
Fix the section name in CONTRIBUTING.rst

The name of the section "If you're developer, start here"
has changed in the wiki, now is "If you're a developer".
This commit updates it to correctly refer to the
proper section.

Change-Id: Ibc5899d2577187b854213690731136edd4cd74ab
Merge "Sync gettextutils.py from oslo-incubator"
Mock out time.sleep in storwize unit tests

The Storwize driver has issues that required them
to add a sleep 1 on init of the driver.

No big deal, but causes unit tests to take a very long
time waiting for the "time.sleep(1)" on every single
unit test that calls init.

This patch just mocks out the time.sleep so we don't have
to do the silly waiting in unit tests.

Change-Id: I10fc3d00252a7e7b90085cb308fb9c6c7e1f5ea7
Merge "Ensure FC ZoneManager is called"
Merge "Fix the section name in CONTRIBUTING.rst"