yaml: use selected user and not admin for onchange

Fixes: #1885
yaml: use selected user and not admin for defaults
only use alpha channel if it exists
[FIX] web_diagram, unlink connectors/transitions between nodes from the diagram view (transitions IDs sent to the web client were strings instead of integers)
[FIX] point_of_sale: fixed rounding issue for pos order when discount added(maintenance: 615322).
[FIX] website_mail: connected users can't follow a website document
[FIX] website_event_sale: display the discounted price in website.

Add price_reduce compute method on ticket and sale order line
[IMP] res_country: add relation from country to group_country. The purpose of this patch is to allow in domain (model.country_id.country_group_ids, '=', 'Europe')
[FIX] web: avoid incoherent actual_mode after refresh

When accessing an existing record in form mode directly (enter the url or refresh a page), the daterecord has not been initialized yet. This means that the value of actual_mode will be set to 'edit' before loading the current record (method _actualize_mode() called from do_show()).
This was problematic for one2many fields that we loaded in edit mode, showing add/delete icons/buttons in readonly views. (opw 607910)
[FIX] When using "--stop-after-init", set the return code correctly. A non zero return code reflect the number of databases that fail to load/update

Backport of 2c4e370b766db6280d38a4d3535e07de604b1922 and
33ce0e73dba7c23d004a278f61943be8052e7f37
[FIX] Report: use ir.config 'report.url' key as base url if it exists

Browse ir.config 'report.url' with superuser as
the user may want to restrict access of this key to the public
[IMP] config: Test that the config file is readable

Fixes #3237

cherry-pick of 8e72049
[MERGE] forward port of branch 7.0 up to d2fd05e
[ADD] web: add a route '/web/dbredirect' to ensure the connection to the right database via the get param db.
[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)
[MERGE] forward port of branch saas-3 up to 309ca4f
[FIX] mail: append messages at the right place

e6790ba introduced a bug where messages were always appended at the end
of the thread, potentially displaying them in the wrong order.
[FIX] event_sale: event tickets carried over on duplication
[FIX] event_sale: event name carried over in invoice line