Add show_key() function to joyent
Add import_key() function to joyent
Add delete_key() function to joyent
Merge pull request #567 from techhat/joyent

Finish adding pure-API key functions to JoyEnt
When loading a map, enforce a know data format. Refs #467, #554, #547 and #557.

* Simplified some code logic.
* Any additional data defined on the map, overrides the profile data.
Allow maps to work with the new configuration syntax.

* We now merge the map provided configuration into the profile. Fixes #467. Fixes #554.
* This commit also fixes #547 and closes #557. We're simply handling the problem at an earlier stage.
* Since we changed how maps information is merged into the profile data, we need to revisit `map_minion`, `map_grains`, `map_volumes`, etc, since there's no need for the `map_` prefix anymore. ALL defined data in the map will be updated in the chosen profile.
* **ALL** cloud drivers should now return the `deploy_kwargs` since that information will be required when `make_master` is set to true. It will be ignored on the CLI code if the user does not pass `--show-deploy-args`.
* If `--no-deploy` is used and `make_master` is True, warn and fail as soon as possible, it would never work.
* Updated all cloud drivers to show their VM creation details.
Some Lint+PEP-8+Formatting+Missing imports love. From 8.24 to 8.85 score.
Also handle lists when parsing the maps.
Also handle list of names/mappings.

```yaml
Foo:
  - bar1:
  - bar2:
```

and

```yaml
Foo:
  - bar1
  - bar2
```
Explicitly deprecate `map_{grains,minion,volume}` with a warning.

* For now we also provide a backwards compatible path to the old configuration settings.
Last update in the `map_{minion,grains,volumes}` deprecation.

All the deprecated references we updated to use the new settings.
Fix some index errors in a logging message. Profile dict was being copied on the wrong place.
The return of `get_configured_providers()` should be the aliases not the actual providers. Fixes #563.
Minor logic correction.
Update to unstable version of bootstrap-salt.sh in order to support minion keys pre-seed.
Update to working bootstrap script until a stable release of it is made.
Empty lists returned by the EC2 query should also be interpreted as errors.
Added minion keys pre-seed support to `saltcloud.utils.deploy_script`.

* Also support not deploying a minion.
* Return the `root_cmd` return code so we can stop the deployment in case of non zero exit codes.
Implement minion keys pre-seed in `saltcloud.cloud`.

* Differentiate from a local or remote master when deploying if `make_master` is true. This is because the remote master needs to get the pre-seeded minion keys, and those minions need to get the remote master PEM fingerprint along with it's IP address.
Implement the necessary changes to implement minion keys pre-seeding on a master to be deployed.