Add support for multiple NetApp backends

This change adds a new define for cinder::backend::netapp, allowing
users to create multiple NetApp backend definitions within their puppet
manifests for use with Cinder.

Implements: blueprint cinder-multi-backend-netapp
(cherry picked from commit 21640609c11df1b5c0447a98b99295dc631a7600)

Change-Id: I0a94dbefc21d254369bfb4a0b9562bf5348cc70b
[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

(cherry picked from commit 209a5bd36af085cf306cf084ed1af1bf0fc9f41d)

Conflicts:
	README.md

Change-Id: Ia2a92a067be6e785d7ca92c4029372ecf6e02ba7
Merge "[bp] Add support for Cinder multi-backend" into stable/havana