[OpenStack] Add flexible IP pool/address handling.

This PR fixes #805, and also adds support for specifying floating ips and floating ip pools in the packer template.

In the case that one only has access to OpenStack VMs via floating IPs (i.e., outside the private network), it can be necessary to be able to specify either which IP to use for SSH access to an instance/VM, or which IP pool to create a temporary floating IP from. This PR adds the following optional fields to the openstack builder template:

"use_floating_ip": true    // This creates a temporary floating IP from the default pool "public" and adds it to the instance
"floating_ip_pool": "some_ip_pool"    // Same as above, except the IP is grabbed from "some_ip_pool"
"use_floating_ip": "some_ip_address"    // Adds a pre-existing floating IP to the instance for SSH