[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
[FIX] http.py: invalid request must return a status code 400
[FIX] mass_mailing: attachments were not send.
[FIX] calendar: support non-ascii chars in date/time format

The calendar module generates string values with
a date/time formatted according to the user
language. Those formats may contain non-ascii
characters and are read as unicode strings,
but fed to str{p,t}time, which only accepts
byte strings (in Python 2).

This would cause an exception when loading calendar
notifications for a user using e.g. Chinese with
some CJK unicode chars in the date/time format.
[FIX] fix autocompletion problems with quick presses

Problem was that when the user types quickly in the search bar and press
enter, the keydown event of the enter key happens before the keypress
event of the last key entered.  This means that the autocompletion has
a wrong string.  The fix is to move the enter selection detection from
keydown to keyup.
[FIX] calendar: allow to sort in tree view the starting date (start, start_date, start_datetime) (hack for V8)
[FIX] web_calendar: improve the commit 787147d. This commit was fixing bug in other module that calendar which was open an event in popup view. Because browse/read by default was unable to read string id. The fix was too restrictif, because calendar need to read/browse string; we cannot cast this id in Int else we loose the virtual part. parseInt('12-20140512') -> 12.
[ADD] ws doc: introspection, reports and workflows

* use static imports in java examples to make them terser
* inline ``domain`` in java and php example to make examples more
  self-contained
* try to extend/improve Model.write's docstring
* add convenience kwarg to fields_get, mostly for user-driven
  introspection

Closes #3689
[CHG] doc: company officially renamed
[FIX] yet another filter fix... (crm reporting)

Same problem as before: filters do not compose properly with the implicit
'&', and they are filtering on the wrong model (should filter on probability
in the crm.case.stage model and not on the crm.opportunity.report)
[FIX] doc/backend: typos in example code
[FIX] im_chat: unlink im chat presence on user deletion

It wasn't possible to delete a user if he had a im chat presence linked to him.
[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
[FIX] crm: set the oldname of field crm.lead.medium_id
[FIX] website_crm: contactus: do not polute lead creation values
[FIX] http.py: log 400 errors
[IMP] website_blog: Add menu, form view and tree view to manage tags.
[FIX] website_sale: apply reduction code

The line being deleted in this revision looks to have been useful when it was introduced in this commit:
36fc910

As the sale order was updated right away through the update_pricelist method
But since this rev. 22f4c31, the sale order is updated later, and reset the sale_order_code_pricelist_id value in the session right after setting it prevent to apply the pricelist of the promotional code...