[API][MGM] Large improvements to floating IP handling

With this patch we now:
 * Delete floating IPs instead of remove
   - if the delete fails we set device ID to 0
 * Attempt assign 5 times
   - every failure will be deleted
   - customer will not be given the IP address until one is assigned
 * Don't set to ACTIVE after build if something already set ERROR

Re-using floating IPs was causing problems in some environments

Change-Id: Ie5f8c679544dd5fc83da096fc8476a9df6810279