[FIX] website_sale_delivery: avoid selecting unavailable delivery method

If somebody selects a delivery method not matching any criteria, the server would crash (500 for the user). This is due to error raised in get_price_from_picking which is triggered by the function field 'price' on the 'delivery.carrier' object.
To avoid this, add field 'available' on the carrier that will be False when no delivery gird is found or when the error is raised. In this case, the delivery choice is disabled. opw 610210
[IMP] sale_stock Show the button 'view delivery order' as soon as a picking exists

The button should appear no matter the state of the sale order, to be consistent with the rest of the application.
This makes it much faster for the sales person to find out about orders in shipping exceptions or already processed.
Fixes #256
[FIX] sale, crm_claim, crm_helpdesk: report menus

crm claims and helpdesk reports should be in Sales Report menu, not in project
The sales report menu is now defined in sales_team, which is a common dependance between crm and sales, instead of redefining this menu in each modules
[FIX] account: using wizard methods instead of invoice methods

Typo during port of account.invoice to new API.

(Rebase of 02a36b6 for #1052)
[FIX] website_sale: _rec_name product.attribute.line

Set the _rec_name for product.attribute.line model, as its column name wasn't defined, and therefore search on it wasn't possible (For instance, do an advanced search on product.product with "Product Attributes" "Contains" "Something" wasn't possible).
[FIX] stock: wrong target table and function for lot_ids in stock.move
[FIX] stock: allow same serial number for different products

Bug lp:1222289, opw 597639
[FIX] account: fixed the copy of a bank statement
[FIX] stock: wrong target table and function for lot_ids in stock.move
[IMP] website_crm: allow creation of the lead to be overrided. That avoid people to rewrite all the routine of the form if they want to change the default behavior at lead creation when form is submitted.
[FIX] account: Bank Statement reconcilation with different currency

When generating reconciled moves in bank statement, use the amount_currency field instead of amount for currency conversion.
Otherwise we would endup with moves with an amount of 0.
[FIX] website_sale: translated terms payment status

Payment status (website_sale confirmation page) inject a status message, which was not set to be translatable. It should be the case.
[MERGE] forward port of branch saas-3 up to 474eae9a43ad7860f11f1d3c1cb8c587eeb98412
[FIX] fields: do not revalidate field values unless they are being modified

In the previous implementation of the new API fields,
both fields.Selection and fields.Reference were performing
early validation of their `value` as soon as it entered
the cache, either by being read, written, or computed.
This is a source of trouble and performance problems,
and is unnecessary, as we should consider that the database
always contains valid values. If that is not the case it
means it was modified externally and is an exception that
should be handled externally as well.

Revalidating selection/reference values can be expensive
when the domain of values is dynamic and requires extra
database queries, with extra access rights control, etc.

This patch adds a `validate` parameter to `convert_to_cache`,
allowing to turn off the re-validation on demand. The ORM
will turn off validation whenever the value being converted
is supposed to be already validated, such as when reading it
from the database.
The parameter is currently ignored by all other fields,
and defaults to True so validation is performed in all other
caes.
[FIX] web: correct rev 680f955

Missing backport of commit f652402 for buffered dataset
Again, should not be forwardported
[MERGE] forward port of branch saas-4 up to 5739aebfb1711bb94c2f94bfb03ec12f17e9430d
[IMP] point_of_sale: add product variants in reporting

Closes #1322
[FIX] ir.module.module: create module xml id also when auto-discovered

It was only being created during database initialization
[FIX] tour.js: wait must be used for the current step instead of the previous step. Remove setimeout delay for activate the element.
[FIX] mail: display translated model name at record creation

When a record is created, if it inherits from mail.thread, a message 'OBJECT created' is posted. 'created' is translated but the name of the model wasn't.
This fix uses the name of the linked ir.model which is already a translatable field.
lp:1262000, opw 611043