Fix Huawei drivers to support other host OSs

Huawei drivers create Linux hosts by default when attaching volumes.
This patch makes them also support Windows, XenServer, AIX, etc.
The default OS is still Linux if it is not specified.

Users need to configure the host OS types in Huawei XML configuration
file. They need to set the items like this:
<Host OSType="Windows" HostIP="10.10.0.1, 10.10.0.2, ..." />
<Host .../>

When attaching a volume, the driver will get the host IP from nova. We
compare that IP with the IP in "HostIP" to get the corresponding OS type.

Closes-bug: #1229759
Change-Id: I36fd52b97f790f1c68eaf24b6c12e7ef5d16145d
Initialize shares variables for RemoteFsDriver(s)

self.shares and self._mounted_shares are used by various methods
for RemoteFs-based drivers, but may not be instantiated early enough.

Initialize them in __init__ to ensure they always exist.  (Also fixes
pylint warnings.)

Closes-Bug: #1239741
Change-Id: I0ef884c28b82b7f694cf8a0fb4629c835da11c91
Nexenta NFS volume driver folder auto sharing

1. Auto sharing for NFS enclosing folders, this helps to avoid errors if user
forgot to share enclosing directory.

2. Added version history to NexentaNfsDriver doc string.

Change-Id: I9aa2a7b8760c687985aa11d85715188f1c1622f9
Fix lvm.extend_volume to pass Gig suffix

The extend function in the lvm driver was not converting
the cinder size value to Gigabytes before passing the call
to the vg module.  The result was that we would attempt to
extend a volume to "new size in Megabytes" which of course
is less than the current size since we do a Gigabyte string
conversion on create and everywhere else.

This change makes sure we pass the integer change through
the sizestr method to get the G suffix needed to work properly.

Change-Id: I070962a3aa7038f612e19a93ccaa60cbc13008f6
Closes-Bug: #1240287
Don't zero out thin provisioned LV's on delete

Thin provisioned LV's don't need secure delete to protect
from data leakage.  Also, zeroing these out kinda defeats
the purpose of using thing provisioning.

This patch add a check for the lvm type and if it's thin simply
returns from the lvm.clear_volume() method.

Change-Id: Ie6764209018152565295291efc6fbba553698ae6
Closes-Bug: #1240299
Merge "Initialize shares variables for RemoteFsDriver(s)"
Merge "Fix lvm.extend_volume to pass Gig suffix"
Merge "Fix Huawei drivers to support other host OSs"
Merge "Nexenta NFS volume driver folder auto sharing"
Merge "Don't zero out thin provisioned LV's on delete"