Floating IP should not be mandatory

Fix #55 
There's no need to call `nova.get_all_floating_ips(env)` if it will fail on `fail Errors::UnableToResolveFloatingIP unless config.floating_ip_pool` or if `config.floating_ip_pool_always_allocate` is `true`.

I suggest

```ruby
def resolve_floating_ip(env)
  config = env[:machine].provider_config
  nova = env[:openstack_client].nova

  return config.floating_ip if config.floating_ip

  fail Errors::UnableToResolveFloatingIP unless config.floating_ip_pool

  nova.get_all_floating_ips(env).each do |single|
    return single.ip if single.pool == config.floating_ip_pool && single.instance_id.nil?
  end unless config.floating_ip_pool_always_allocate

  nova.allocate_floating_ip(env, config.floating_ip_pool).ip
end
```