add a better check to see if the cinder api is actually

Fixes #261

Adds a new capability to dynamic inventory script

This PR adds the capability to seperate out parts of the configuration file
into other yaml files within a "conf.d" directory from within the discovered
directory where the "rpc_user_config.yml" is. The new capability will recursively
merge items into the "rpc_inventory.json" file.

This change is coming from the development of the swift private cloud product.
where split configuration support is a requirement.

Trello Card: https://trello.com/c/6jq40oa7

Removed the need for the collections module

The reason I was using collections.mapping was in case we wanted to
support other types of maps other then a dictionary. Seeing as the
name of the method is now merge_dicts and the doc string specifies
that dicts are expected, I removed the need for the collections
module.

  -if isinstance(value, collections.Mapping):
  +if isinstance(value, dict):

Also added and 'or {}' to call to _merge_dict from _extra_config.
This way if yaml.safe_load returns a None, or other false value an
empty dict will be passed to the _merge_dict method as expected.

  -yaml.safe_load(f.read())
  +yaml.safe_load(f.read()) or {}

I.e if someone just dumps/touches an empty file into the conf.d it
wont crash.

further refined the dynamic inventory script for multiple configs