[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] 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.
[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...
[FIX] google_calendar: update tuto to create credential for google Calendar API. Google changes suddenly the process. Before that was optional, now without it, customers have an error 400 redirect_uri_mismatch
[FIX] payment_transfer: correctly display transfer information

When moving fields name -> provider on payment.acquire, the condition in payment_transfer was not updated.
This lead to no post_msg value in the Wired Transfert acquire.
Fixes #2423, opw 613934
[ADD] packaging: windows: bundle wkhtmltopdf and lessc
[ADD] tools: handling of bin_path key in find_in_path

The openerp-server.conf now generates the bin_path record, in order
to resolve calls to external binaries served in the thirdparty dir.

Adpated report.py to use find_in_path and not directly which.
[FIX] packaging: windows: installer images odooification
[FIX] website_editor: smallest pictogram was unselectable.
[FIX] tools: find_in_path: config is not ready at import time

commit f76d4525a was not actually working: extra keys from
config files are not yet into the config options dict at
import time. The fix is to move the logic inside the method,
like in `find_pg_tool` just below.

Also fix the use of `find_in_path` in report.py: the subprocess
may also raise AttributeError exception, so instead of listing
all the possible ones just re-raise the IOError shallowed by
`find_in_path` when the result is None.

Fixes #3809 #3811
[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