Fix floating IP logic in destroy
There's a logic bug in the destroy action: ip_flag is assuming string
context when it should be assuming list context. This causes ip_flag to
never get set to true and therefore floating IP's never get destroyed.
This can lead to floating IP exhaustion, particularly in environments
with a low number of allocatable floating IP's.
This patch corrects the problem by fixing the logic to check for a list
length of zero rather than an empty string.