Support more flexible LVM allocation to components
This merge makes LV allocations to components more flexible, and handles cases where there simply isn't enough local disk space to satisfy all requests. Glance and Swift LV sizes are now configurable, and we now manually create the Cinder thin pool LV, so that we only use ~75% of the remaining VG size. The out-of-space handling should be improved, but no time.
All the LVM setup code has moved into setup-extra-space.sh, and we now place LV/VG-relevant variables into $LOCALSETTINGS.