Upon a socket connection failure, release the current connection
and acquire a new one to a different controller.
This is achieved by treating socket connection failures as 503
errors returned by the controller.
Also, ensure an even distribution of initial connection priorities
across controllers.
Change-Id: I988b46a4d1f51e4ad6b22ed3d892eab6a96a3acd
Closes-Bug: 1485883