[FIX] product: pricelist, uom and price_surcharge

The price_surcharge attribute must be computed based on the reference unit of measure (divided by the factor).
This is to make sure than 12 units and 1 dozen have the same price after pricelist computation (opw 599727).

Added test checking the correctness of pricelist computation based on unit of measures.
[FIX] product_visible_discount: discount with different unit of measures

The computation of the price without pricelist should take care of the unit of measure.
e.g. if computing discount for objects in dozen (on a product with price in unit), returned unit price should be (price*12) where 12 is the factor to go from dozen to unit.
Otherwise the compared prices (with and without pricelist) would not use the same unit of measure and the comparaison would be inconsistent. (opw 599727)
Forward port of branch 7.0 up to 42bf0a5
[FIX] product: reference in test
Forward port of branch 7.0 up to rev 8abd003
[FIX] web: cors rpc calls were missing the session cookie, resulting in new sessions being created for every call
[FIX] mail: read more show original message

Instead of html cleaned html, to allow display blockquotes

opw-614729
[FIX] account: limit search for fields_view_get to one result

+ use ir.model.data get_object_reference method for better performance (cached result)

opw-616616
[FIX] product_visible_discount: use on_change result for product value

At the end of the onchange call product_id_change, the uom may have changed (e.g. if product in different category).
To compute the quantity, we need to use the new uom and not the first one (that may be Unit, default value)
[FIX] stock: forbid adding new lines when processing picking

Source and destination locations are required and not displayed in the form view.
Adding new items when recieving a picking can not be easily guessed as we can put different locations for each line, using default locations may not be the expected result.
Instead should modify the original picking or create new one.
Fixes #2074, opw 612768
[FIX] sale_margin: cost price uom

When computing the cost price to display, take the uom into account. The cost of 1 Unit or 1 dozen should not be the same. opw 599727
point_of_sale: Add _prepare_analytic_account method to easily set analytic account from custom module
[FIX] hr_timesheet_invoice: warning in report generation

When generating the report 'Timesheet Profit', got a warning "The domain term '('user_id', '=', [...])' should use the 'in' or 'not in' operator."
This warning is due to the use of the '=' operator to compare the field 'user_id' while the reports sends a list of ids.
Fallback to still accept a single id in case of customised reports.
[FIX] account: partner balance general totals

General totals were not computed at all, due to the condition "if not self.ids" which was always true as self.ids wasn't set.

Besides, a parameter allows to display only partner with balance greater than 0, which was completely ignored by the totals computation methods: The totals always included all partners, even those having balance equals to 0
[MERGE] forward port of branch 7.0 up to 00ec786
Revert "[FIX] mail: read more show original message"

This reverts commit 0790682296e43989e4e232189009c3ba380e32ba.

This fix is not yet ready. See PR #3295
[FIX] sale: trigger all_lines signal when all lines are invoiced
[MERGE] forward port of branch 7.0 up to b1df5aa
[FIX] sale: when invoicing on lines, set order in progress when all lines invoiced

This fix is related to rev. b1df5aab6e529e9667bb97c96c9196e1a4e5e0ce
[MERGE] forward port of branch 7.0 up to f4870f8