[FIX] web: len & non zero implementation for wrapping list/dict
[FIX] web: len & non zero implementation for wrapping list/dict

The implementation of `__len__` & `__nonzero__`
were not defined for the py types `wrapping_dict`
and `wrapping_list`.

For instance, this prevented an empty list
to be considered as `False` in domains
evaluated by the web client.

e.g., in the automatic partner merge wizard,
the domain
```
[('id', 'in', partner_ids and partner_ids[0] and partner_ids[0][2] or False)]
```
is used.

When the `partner_ids` list was empty (meaning the "partners to merge" list
was empty in the wizard), it wasn't considered as
`False`, and it therefore attempted to get
`partner_ids[0]`, which resulted to a crash, as
the list was empty.

opw-672095
Closes #11343

Courtesy of Xavier Morel (xmo@odoo.com)

stephen144/odoo,dfang/odoo,Elico-Corp/odoo_OCB,microcom/odoo,stephen144/odoo,ygol/odoo,sysadminmatmoz/OCB,laslabs/odoo,hip-odoo/odoo,dfang/odoo,storm-computers/odoo,sysadminmatmoz/OCB,sysadminmatmoz/OCB,storm-computers/odoo,storm-computers/odoo,laslabs/odoo,microcom/odoo,stephen144/odoo,microcom/odoo,hip-odoo/odoo,laslabs/odoo,hip-odoo/odoo,ygol/odoo,sysadminmatmoz/OCB,laslabs/odoo,stephen144/odoo,microcom/odoo,dfang/odoo,dfang/odoo,ygol/odoo,sysadminmatmoz/OCB,sysadminmatmoz/OCB,hip-odoo/odoo,laslabs/odoo,stephen144/odoo,stephen144/odoo,storm-computers/odoo,Elico-Corp/odoo_OCB,bplancher/odoo,Elico-Corp/odoo_OCB,bplancher/odoo,ygol/odoo,bplancher/odoo,hip-odoo/odoo,microcom/odoo,hip-odoo/odoo,laslabs/odoo,bplancher/odoo,ygol/odoo,storm-computers/odoo,Elico-Corp/odoo_OCB,Elico-Corp/odoo_OCB,ygol/odoo,ygol/odoo,microcom/odoo,sysadminmatmoz/OCB,storm-computers/odoo,bplancher/odoo,dfang/odoo,dfang/odoo,bplancher/odoo,Elico-Corp/odoo_OCB