Handle IpAddressInUse with client exception

Nova is not able to reliably distinguish between port OverQuota 409
errors and IpAddressInUse 409 errors when setting up networks for
instances. The client needs to provide a more granular exception so
nova can translate the error to it's own set of exceptions.

Also adds a test case for the exception_handler_v20 utility method which
was lacking explicit test coverage before this change.

Partial-Bug: #1247844

Change-Id: I71589097ae660c3385b3f4ff93ffae99ac7042b9
Merge "Handle IpAddressInUse with client exception"