[API][ADMIN_API]: Fix off by one in DB engine switch

When failing over DB engines it tries to access one more item than is in the DB
dictionary.

Change-Id: Ie8f5411f455dea2893334705172c54e694e1d246
[MGM]: Fix exception when logging build failure

An exception is fired when the 10 minute Nova build timeout happens.
The instance is still deleted so not a huge problem.

Change-Id: I0d3a8054f29016ee31844d3cc063bdcff6e7b81c
[API]: Give a 401 when we have no tenant ID

This shouldn't happen in Keystone because Keystone will catch the problem
before we get this far, but it is good to catch this case.

Also if we have disabled keystone for testing it is good to give a 401
instead of a 500

Change-Id: I70c2009a5868be23e1811a837c00ddb901bbdbfc
[WORKER] Support cleaner HAProxy config reloading

Stopping and restarting the HAProxy service will rudely terminate
any active sessions in HAProxy. This new method allows existing
connections to finish whatever they are doing while the configuration
file is reloaded.

Change-Id: Ife5d3ccc66349ea3393541768f12aedddb5ac5c8