Pool-aware Cinder Scheduler Support

Cinder currently see each volume backend as a whole, even if the backend
is consists of several smaller pools with totally different capabilities
and capacities.  Such gap can cause 'strange' issue - a backend appears
to have enough capacity to create a copy of a volume but the backend fails
to do so.  Extending Cinder to support storage pools within volume backend
will not only solve issues like that, it can also make Cinder's scheduling
decision smarter as it now knows full set of capabilities of a backend.

bp pool-aware-cinder-scheduler

Change-Id: If4f1684727329e1bf9c93ac5e801ca7075564dd2
Merge "Pool-aware Cinder Scheduler Support"