[FIX] website_quote: compare untaxed amounts in case of discount
[FIX] web: cherry-pick of 893e4268650ddd517e3044f41c582fd92de6edfe & 61207f3f4d9206d4c1a3e484eb89f09d2258977a
[MERGE] forward port of branch 7.0 up to 98c6e7c
[FIX] crm_lead: don't rewrite user_id. Value has not been updated so it's useless. Some module check that user_id is in vals to trigger others actions for nothing.
[FIX] purchase_requisition: change active_id to tender_id in widget context

this is due to commit 6ed774de614a2977a8d186a14ef2cd45a76e7a2e and a37bad205b13cec4f19f8e84e28801278e3e36ca which removes the active_id from context if the target==curent which is the case of this widget, we therefore can not use active_id here.

fix #2385
[FIX] product_visible_discount: fix display of unit price according to rule base price like in 7.0 as requested by gab
[FIX] config: fix parsing of geoip db paramater, rename command-line option for consistency
[FIX] website_crm: remove useless request from params, anyway it's a global var
[MERGE] forward port of branch saas-3 up to 6feb5f7
[FIX] product: price_rule_get_multi returns a dict with a dict with tuples
[IMP] expression.py: add a check to forbid records in domains

Records in domains cause a "maximum recursion depth exceeded" error when
converted to SQL. Simply add a test to show a better error message.
[ADD] QWeb2: add support for operation='attributes' in a t-extend

Same syntax as server's position='attributes' on view inheritance
[IMP]added subtype in blog to send notification of blog follower and add follower in post when they comment on post.

Update website_blog.blog_post.js

Update test_ui.py