[API]: Show correct output when VIP has not been assigned yet

Change-Id: I72b9bb85fcda00d29096d1c60a327982eec4a6c8
[ADMIN_API]: kill a rare exception due to a race setting an error

Change-Id: I0e8600559d12117fd48ea71a5e2fcd3b0a98163e
[API] Fix error message

Change-Id: I3c9fffb86fddb2eac61d0d125e1f1e328bafb446
[API][ADMIN_API] Fix DB locking issues

VIP assign can deadlock itself or hold the exclusive lock for too long.
With this patch we now:

1. Only lock until we have a VIP
2. Assign the VIP to the device right away in the DB
3. Keep in the BUILD state until VIP is confirmed assigned
  * To do this VIP assign is done after device build is confirmed
4. If the VIP assign fails set the device ID for it to 0 and attempt delete
5. Retry 1-4 up to 5 times
6. Remove the galera deadlock detection since:
  * it was detecting normal deadlocks
  * it was causing worse deadlocks and DB damage
  * we should never hit a state where that activates

This patch also fixes device choice in Admin API during fail-over.

Change-Id: I02f8257e5d871ed76eb82b51aeead8ed8f1bbbda