[FIX] base: do not drop sql constraints during update

When a module is updated, the sql constraints were checked against postgres pg_get_constraintdef() to see if they have diverged from the one defined in python code.
However this check was failing as the syntax returned by pg_get_constraintdef() (e.g. "CHECK ((credit * debit) = 0::numeric)") differs from the one returned by `unify_cons_text` method (e.g. "check(debit*credit = 0")) so the constraints were always dropped and recomputed.
This adds a definition column on ir.model.constraint (storing original defintion) to detect changes.
The pg_constraint is still inspected to make sure we detect constraint without ir_model_constraint but with postgres constraint defined (e.g. name_uniq defined in base.sql).

This changes also the date_update field when the definition changes.
[WIP] Multi website
[FIX] New page.
[ADD] cache for get_current_website() (remove one query per request)
[IMP] Context.
[FIX] get_current_website domain check outside of cache
[IMP] misc changes
[REM] Remove multi-website support from <template> tag

This should be done later properly without polluting convert.py
[ADD] Added custom search view for website.menu
[IMP] avoid 1 query per t-call
[FIX] request.website browse record bad context
[IMP] Made 'Add an item' text bold for many2many widget.
[IMP] hr_holidays: toogle button for leaves mgmt
Merge pull request #2300 from odoo-dev/master-website-multi-sig

[MERGE] Domain name based multi website
[REV] stock_landed_cost: revert 22380f09a31f8bf5e9b1d26add7342864284b253.
[FIX] hr_holidays: much better version of
69297dbf8164b8456dfcb7ae7f9835b90974b938
[ADD] : new blog demo snippets