Merge pull request #561 from s0undt3ch/develop

When loading a map, enforce a know data format. Refs #557 and #547.
Allow the ssh output to be streamed.
Let's try logging the ssh output.
Simplify the non blocking Popen.
Also use the non blocking Popen in scp calls.
Remove remaining stream ssh definitions.
Update to latest unstable bootstrap script
More explicit conditional.
Disable ssh output streaming to the console when running parallel deployments.
Fix `None` has no `len()`
Popen output should log as debug not warning
See note #577

Significant changes are being made to the joyent api, many new feature and few minor changes to old ones.

The new features will allow you to create images etc.

The changes to the old features appear to be:

list of packages may not have a default field (found this broke the joyent driver in libcloud)
list of machines request no longer provides a list across all datacenters
create_node, no longer returns the ip addresses for the node, you have to poll until you get them

Many of you may start to notice things not working. The new api can be tested on the eu-ams-1 location, the other locations still use the old api.
cleaned up user message
fixed avail_locations code, missing ret
Error out if nothing was done, ie, wrong or erroneous arguments were passed.
In order not to have a machine running because we failed to get an IP, issue a shutdown for it.
Merge pull request #575 from s0undt3ch/features/log-ssh-command

Log SSH/SCP commands
removed is_private_subnet call from libcloudfuncs.py

added doc comments to all new methods
Added CLI info to CLI based commands
Make the profiles setting more obvious