Extend LVM brick functionality

This patch adds some new methods to the LVM brick:

- VG activation
- VG deactivation
- VG removal
- PV resizing
- Thinpool extension

These changes were initially proposed in
https://review.openstack.org/#/c/110236/ but reworked into a separate
patch-set.

Change-Id: I9070eb5557b5a0ccc0563785f22e5fff7ad332f8
Adding Scality Rest Block driver

Implements blueprint srb-driver,
named srb.py for <Scality Rest Block>. It is a similar approach as
Ceph's RBD in the way it provides Block devices to the system.

Add the driver to control a kernel REST block driver through /sys
which uses LVM for snapshot management. The native block driver talks
through a REST API to Scality's Storage (support file system semantics),
and might support more vendors in the future.

Incidentally adds methods destroy_vg(), extend_thinpool(), pv_resize()
to brick/local_dev/lvm.py as a dep, with the associated test update.

LVM+Volume group management done by using temporary LVM objects.
iSCSI for export to nova (Future plans: add a own transport 'protocol')

Note: this driver also defines it own retry decorator, as well as
monkey-patches the brick's LVM activate_lv method for its own needs.
It is open to discussion whether those ways are the right ones or not,
but it at least allows going forward for this driver.

Change-Id: Id8d00df9db4004d5aeb8c0269d114ef50e0b8f8e
Process some PEP8 hints
Use `processutils` from `oslo.concurrency`
Use Python 2.7 built-in nested context managers
Reverse argument order of `assertEqual` calls
Fixup imports

Things moved to `oslo` libraries.
Fixup line-too-long
Fixup 5ef398a0e1408ab8f078c514ed4657441b14db47
Don't use `contextlib.nested` but built-in syntax
Don't parse non-integer strings to integers
Fixup pep8
Add .travis.yml

TO BE REMOVED
Attempt to trigger TravisCI run
Fixup `test_volume_extend` testcase
Process https://github.com/NicolasT/cinder/pull/1#issuecomment-65079606
Process Gerrit I18N remarks
Handle device name length Gerrit comment
Oops, fixup c2c63c3f3e0b8b6514d04ebf093e202f1b0ae201
Handle change in LVM brick API

Change-Id: If20722ad8c6e94288ba3cb479ca07472972f67aa