Fix #16 and #17 - Rewrite get_ip method

* Bump dep version of Fog
* Not all OpenStack deployments use the `public` and `private` network
names. Start by trying the `public_ip_addresses` and
`public_ip_addresses` methods.
* If those methods aren't supported (Fog issue with OpenStack systems
without floating IPs), only then resort to trying to parse the
`addresses` hash.
* Ordering of those IPs isn't guaranteed, which would result in
sometimes getting a v6 IP even if you have no way to access it.
Merge pull request #19 from RoboticCheese/jdh-refactor-ip-determination

Fix #16 and #17 - Rewrite get_ip method