[bp] Add support for Cinder multi-backend

* Create class cinder::backend.
   Sets DEFAULT/enabled_backends

* Create define cinder::type.
   multip-purpose function to create type and optionally set extened
   information.

* Create define cinder::type_set.
   multi-purpose set function to set extended information.

* Copy rbd, iscsi, and nfs volume providers to support multi-backend
   Now provided as cinder::backend::<driver> to ensure that multi-backend
   aware resource is|[ not] used.

* Add rspec for new parts to ensure expected function.

Blueprint: cinder-volume-multi-backend

Change-Id: I6df9cadaad3b9ce2ab4b0e87dba9b5056459db10