[FIX] api: avoid to return all fields *2many in onchanges

When an onchange returns a change in a 2many field line (a '1' tuple, update), avoid to return all fields of the *2many field but only the altered field.

Otherwise, the web client regard all the fields of the 2many as dirty, and try to write on all fields (even if the value is the same, thus)

opw-615062
[REF] mail: extract auto subscribe notifications sending into a sub-method

To allow customization, such as do not send the notification to the partner that subscribed himself to the thread (he probably already read the thread, no need to send him an email)
[IMP] http: do not log traceback for Warnings
[IMP] Show product_uom_qty instead of normalized quantity in mrp order report
[IMP] models: rework the API that deals with dirty fields on records
[FIX] mail: allow to set own batch size for mass mailing
[FIX] mail: batch_size expects an integer
[IMP] account : Add reference field to Invoice report
[FIX] test_new_api: fix/simplify the result of the onchange on one2many fields
[FIX] product_extended: price from bom is build for product templates

As it sets the standard_price field, which is defined on product templates only: setting the standard price of a product variant will lead to set the standard price to all the variants of the product template.

There is therefore no meaning to compute and set the standard price of product variants according to the boms
Revert "[FIX] stock_picking_wave: removed obsolete many2many widget from stock_picking_wave_view"

This reverts commit 436bbb0a48ff866925fe0a3987928ab554bc3c6d.

The many2many widget is usefull, as it allows to select an existing picking instead of creating a new one when clicking add an item from the list
[DOC] web: search view: extra info about key events handling

Complements bde1a4432fef4cb2f5fe8ab600e72ab5b8b4830d
[IMP] Incoming, outgoing and virtual quantities should not take draft moves into account
[FIX] mrp: allow to select BoM with a product template only
[FIX] fields: in *2many convert_to_write(), return all fields for new records and dirty fields for existing records
Merge pull request #3645 from odoo-dev/8.0-fix2manyupdateonchanges-chs

[FIX] api: avoid to return all fields *2many in onchanges
[FIX] correctly set searchview id (web client)

The issue is that when a default searchview is requested, it is
initialized without its view_id.  Result: debug mode can't edit the
search view.  This commit makes sure that when the field_view_get is
received, the correct view_id is set.
[FIX] website: improve performance for attachment creation

website introduces two new stored function fields, which depend on the attachment data
The thing is, these two fields are pertinent for website attachments only
Therefore, we avoid to read the datas field when the attachment is not a website attachment(when not needed), as this is the most costly field to read
[FIX] survey: Was browsing a browse record, useless and traceback... https://github.com/odoo/odoo/issues/2383
[IMP] account: bank statement reconciliation proposition:
- find a move line whose amount exactly matches the bank statement line amount even if it has no partner
- properly handle multicurrency
- if there's no exact match, look for a set of move line whose amount is <= to the statement line's amount