Add missing tests for db.floating_ip_* methods

There was no tests in test_db_api for db.floating_ip_*
methods.

Add tests to ensure that all works.

Remove tests for db.flating_ip_* from DbApiTestCase.

Change return value of db.floating_ip_create()
This method is used only for tests. To simplify testing we
should return floating_ip_ref (all columns) instead of address.

blueprint db-api-tests

Change-Id: I37ee93c1d054ad736aa02a43be867f809448b172
Remove race condition (in FloatingIps)

Soft delete all duplicate rows with the same address except one with
the biggest value in `id` column.

Create UC on columns (address, deleted)

Fix floating_ip_create
  Replace Select then Insert -> Try to Insert.

Fix floating_ip_bulk_create
  Replace get all and locally compare -> Try to Insert

Fix floating_ip_update
  If we update floating_ip with existing address, raise
  rollback and raise FloatingIpExists

Add missing test for floating_ip_update to duplicate

Fixes bug 1145216

blueprint db-enforce-unique-keys

Change-Id: Idd0c8305ca348700235f757a29fc7998edca576b
Merge "Add missing tests for db.floating_ip_* methods"
Merge "Remove race condition (in FloatingIps)"
Merge remote-tracking branch 'm_src_repo/citrix-fixes' into build-temp