Handle missing `name` in `show_term_protect()` call.
Make the configuration aliases less formal so no strict interpretation should be done.
Finish making the configuration aliases less formal.
Fix some logic which was making the cloud providers extend feature not to work properly.
Fix cloud provider alias reference. Add cloud providers extended data example.
Fix yaml syntax in examples.
Switch logging level.
Fix machine destructions. Minor formatting and PEP 8 fixes.

Since we can't get the profile or map entry used to create the VM, we can't also get the append_domain setting.
And when we have several minion keys who's name starts with the machine name we're deleting, we'll need to handle them one by one by asking the user.
Add missing import and fix a `NameError`. Handle non existing keyfile, not even globbed.
Aggregate data to display to the user. Use helper functions.
Return new machine name(refs #495). Namespace some additional functions.
Namespace some additional functions.
Only include `deploy_kwargs` in output if `show_deploy_args` is True.
Fix `TypeError`.
Fix `saltlcloud.cloud.Cloud.profile_provider`. Additional information even when starting machines in parallel.
Fix `saltcloud.cloud.Cloud.provider()`.
Remove unneeded arguments from the web chat URL.
Include new cloud providers syntax.
Make salt-cloud interaction more API accessible.

* Created `SaltCloudException` and `SaltCloudSystemExit` in `saltcloud.exceptions`. Any exception salt-cloud needs to raise should be a subclass of `SaltCloudException`. `SaltCloudSystemExit` is used to trigger a system exit call which should only exit if being executed from the console.
* Cleaned up some unnecessary imports.
* Fixed some unnecessary logging calls just to show a traceback in debug level.
Add and use 2 more salt cloud exceptions. `SaltCloudConfigError` and `SaltCloudNotFound`, replaces some generic `ValueError`'s raised.