The python one was much too slow with large datasets. Here we only
check one level (only when the zone is directly assigned), the previous
SQL constraint was checking the locations of the same level only anyway.
The new constraints prevents having 2 locations with the same name in
the same zone. The SQL UNIQUE constraint was blocking the installation
of some addons due to demo data creating, by default, some locations
with the same name for the warehouses' locations.
Alternative: we could create an INDEX UNIQUE (name, location_id) WHERE
picking_zone_id IS NOT NULL
But it depends if we want to check the whole tree or not.
* Allow copy of stock locations (was blocked by constraint on unique name)
* Correct loop in _compute_name returning too early if a record had no
parent with a 'location_name_format'
* Rename field pick_type_id to picking_type_id for coherency
* Add missing _description on stock.picking.zone
* Correct location_name_format format when the record is a NewId