Merge pull request #42 from jtaleric/master

Floaters - use existing floaters if they exist.
Small fix for floating IP auto-assignement in OpenStack adapter.
Urgh, forgot to remove a "print" statement.
Changes to properly deal with "floating IP"-like addresses (i.e., addresses
assigned by the cloud to a VM, but not known by the VM itself). With the
introduction of the "cloud_pip" attribute (in addition of the already
existing "cloud_ip" attribute), VMs that are part of a VApp (AI) can find and
contact each other through the internal network. The "floating IP"
(whenever used, since it is an optional parameter) will be used by CB
Orchestration Node to contact the VMs during the initial deployment (the
"cloud_ip" attribute), but the VMs will know (and use) their internal IP
addresses.
Important change: Improved support for running CB "outside" of a given cloud.
With this change, the CB Orchestrator Node (ON) can contact VMs through a "jump box"
node, instead of direct establishing a network connection. In order enable it,
the following parameters have to be added to the cloud configuration file:

[VM_DEFAULTS]
CHECK_BOOT_COMPLETE = run_command_/bin/true
JUMP_HOST = "IP ADDRESS OF THE JUMP HOST"

The "check_boot_complete" parameter will instruct CB to check if the VM is fully
booted by running "/bin/true" over SSH (which goes through the "jump box"),
instead of the usual check for the openness of the port 22 (which is impossible, since
the CB's ON does not have direct network access to the VM).
The second parameter indicates the IP address of the host designated as the
actual "jump box". It is expected that this host is passwordless acessible from
the ON and that it has the binary "nc" (netcat) installed on it.
The method used to transparently access the VM through the "jump box" is the
use of the "ProxyCommand" in a custom ssh configuration file.