Using the computed allowed + domain with IN is very slow for loading
the partner view, more with the initial set, that gets the whole set
of records.
Luckily, the answer is the magic operator `=?`, that allows to express
a conditional domain that is not applied if the right leaf is False,
complying with the intention of the dynamic domain, and even expanding
it to more conditions for further assistance.
Fixes#1073
This module has now been refactored to be more consistent with what base_address_city offers to the location management.
Added dependency to contacts so that I could change the menu location for cities / zip management.
Now, every res.city record has a relation One2many to res.city.zip (old res.better.zip). This way, every zip has a realted city too.
Zips can be searched through city code, zip or city name (same as before).
Modified tests and deleted not needed tests.
Added sql contraints so that zips and cities are unique within it's country / state / city.