Fixes RM8003

Previously, the logic to check for the existence of an allocated IPv6
address mistakenly included the tenant_id of the requesting tenant. If
this particular section was executed, the ip_address_find would return
None for the address, causing the update section to be skipped and the
ip_address_create to be executed. Since the IP address already may have
existed, the create would raise on a duplicate record, causing Quark to
only infrequently trigger the alternate RFC3041 IP generation logic.

Additionally cleans up a few of the related tests that had some
copy-paste.
So if the IP is owned by someone else and allocated to them, that find() would return None and then we'd fall into the create below where it would raise.