[FIX] barcode_interface: when loading widget, picking_type_id was sometime not correctly set
[IMP] fields: do not copy field objects anymore, but make new instances instead

Because of the parameter overriding mechanism implemented by fields, it is no
longer necessary to copy field objects.  It is even better to no copy them in
the case of related fields.
[IMP] fields: rename attribute 'copyable' into 'copy'
[IMP] doc: add testing reference and improve docstrings
[FIX] web: destroy modal on cross click or escape

Instead of just hidding it
Otherwise, when opening a new dialog, it is considered that there is a previous opened dialog, and this can lead to refresh the record which opened the hidden/previous dialog

This is related to rev. 57b48602fb7afa5d0539e8d0caa8d1e10c3910e5
[FIX] models: in _create() and _write(), mark fields to recompute earlier

An issue occurs when a constraint is checked before computed fields are marked
for recomputation: the constraint will read the field's current value, which
may be wrong.  If the field is marked soon enough, the constraint will trigger
the recomputation and use a correct value.