Implement LVM thin provisioning support.

As of LVM2 version 2.02.89 the ability to do thin provisioning
was made available in LVM, this provides some cool new features
but also addresses some problems with things like terrible
LVM snapshot performance.

Currently the version of LVM in Ubuntu 12.04 does NOT support LVM thin,
however an experimental PPA from brightbox which is a backport from
Quantal has been proposed to Cannonical to be pulled in.  For some
users the experimental PPA is a better option than dealing with some of
the current issues in the standard LVM2 version of Precise (including
the dd hangs on secure delete). See BP for more info.

This change will create the thin pool if it doesn't exist
using pool_size flag, or by default using entire VG space.

Implements BP: implement-lvm-thin-provisioning

Change-Id: I8a30a1283e1992c64e8ac96841ae4a6f82f7018a
Pull cfg module from Oslo and update cinder-manage accordingly

New cfg module abandons previous disable_interspersed_args() and
recommand to use add_subparsers from argparser module instead.
This patch pull cfg module from Oslo and update the affected
cinder-manage utils.

Change-Id: I8913fafb8fdb19b3fe0a695a70c8b1e8f59c1027
Merge "Implement LVM thin provisioning support."