[IMP] models.py: _auto_init: accelerate row existance check

Using `COUNT(1)` on big table can be slow. Use `min(id)` which use
pkey index to have a quicker response
[FIX] fleet: creation of suppliers is now correct
[IMP] form views: remove sheets in config forms

(Closes #850)
[FIX] pos: the widget.pos.cashier is not always defined
[MERGE] forward port of branch saas-3 up to 591326c
[FIX] orm field (new api): preserve empty values instead of folding to False

The new API introduced a small behavior change where empty
string values written or stored in a char/text field were
replaced by False (i.e. as if they were NULL).
This was done to mimic the web client behavior, but introduces
a very surprising effect: a.name = ""; assert a.name == "";
would fail. It would also require many more tests in the
code when reading existing required values from the database,
as they could still be False when an empty string value
had previously been stored, for some reason.
[MERGE] forward port of branch saas-4 up to b49755b

The forward port of the fix 3609ba10f2d00a608d8f32334ae1b9a25b34f037 will be done separately, as the mrp scheduler has been completely refactored from saas-5.

Conflicts:
	addons/l10n_be_coda/wizard/account_coda_import.py
	addons/point_of_sale/static/src/xml/pos.xml
	addons/procurement/schedulers.py
[IMP] website: do not translate sitemap URL
[FIX] Do not top up all @imports before less/sass compilation

This was preventing the bundles fragments to be restored after
compilation
[FIX] ir.translation: export/import of QWeb terms

Fixes the translation term import/export logic to
support terms inside QWeb templates.

Refactored a bit the export code so the babel-based
QWeb terms extractor for ./static/src/*.xml files
uses the same logic as the regular extractor for
ir.ui.views with type QWeb.

Server-side QWeb rendering uses a mix of the native
 view inheritance mechanism and the template inclusion
(t-call) mechanism. During rendering the translations
are only applied at "template" level, *after* the
view inheritance has already been resolved.
As a result translations are local to a template,
not to the inherited view in which they are actually
written.
In terms of exporting PO[T] files, this is done by
resolving the "root" QWeb template a view belongs
to, and using it as the location of the translated term.

During import there is one extra quirk for QWeb
terms: they need to be linked to the `website` model
rather than the actual `ir.ui.view` model they
are really pointing to, so the rendering phase can
properly recognize them.
[FIX] web_graph : display the corresponding label for selection fields in graph view
[IMP] Use bundle compilation output instead of fragment recomposition
[FIX] procurement, stock: forward port of bug fix 3609ba10f2d00a608d8f32334ae1b9a25b34f037
[IMP] recompose bundle only if needed
[IMP] sale: product_id_change now supports a void pricelist and/or a void partner_id.
website_quote: validity, options and template now readonly when not in draft
and sent status (aka confirmed).
[FIX] mail, email_template: prevent user from creating
templates in the templat_idm2o field on the wizard; prevent users from
creating models in the model_id m2o field on the template form view.
[FIX] gamification: prohibitive record rule processing with many users/goals

Due to the multi-company record rule on gamification.goal,
each access to the Goals menu and each opening of the
Messaging menu (thus calling get_serialised_gamification_summary())
is extremely slow (with several thousands goals/users).

Adding auto_join to the user_id FK on goals makes it much
faster. However it causes crashes when reading the table
because the _order of gamification.goal uses `create_date`,
which becomes ambiguous after the auto_join with res_users.

Solving this can be done by re-implementing _read_flat()
in the ORM using the internal Query object, as in search(),
which takes care of fully-qualifying all column names.

Until this is fixed, a simple workaround is to use
start_date in the _order instead of collision-prone `create_date`.
[IMP] Css preprocessors can now be mixed up in the same bundle
[FIX] purchase: add purchase_order_count in kanban for purchase users only

No need to set account.group_account_manager for the field supplier_invoice_count, as account.group_account_manager implies account.group_account_user
[FIX] mail: when having only mail installed, do not show any 'share with my followers' compose box. This comes only with hr, for the inbox. This was probably forgotten when updating the mailboxes hr-goal and hr-related gamification / chatter stuff.