Handle null region

Not all clouds define/require region_name to be set
Make env vars lowest priority

When working with multiple tools the project CLIs only know about options
and environment variables.  When selecting a cloud config that includes
a section from vendors.py environment vars overwrite that data if they
are defined.  The priority order should be:

* command line args
* cloud config selection
* environment variables
Handle missing vendor key

Continue on if the configured vendor config is not present
Merge pull request #2 from dtroyer/null-region

Handle null region
Merge pull request #1 from dtroyer/env-vars

Make env vars lowest priority
Merge pull request #3 from dtroyer/vendor-key

Handle missing vendor key
Prep for move to stackforge
Add clouds-public.yaml

Put vendor config outside of the code in clouds-public.yaml. Fall back to
vendors.py if clouds-public.yaml not found.

The search follows the same rules as clouds.yaml, the file is the same
format except the top-level key is 'public-clouds'.  Typically only auth_url
and region_name are populated.
Merge pull request #4 from dtroyer/vendor-config

Add clouds-public.yaml