[IMP] base: no default domain for partner's title

The title field should not have a domain by default.
When a new record is created or the 'is company' field is changed, the onchange_type is triggered to restrict the domain accordingly to is_company field.
When an existing record is modified, there will have no domain on title field. It's not ideal but at least companies will be able to change the title without the need to modify twice the field is_company.
Fixes #1713
[FIX] account: reconcile: no useless revalidation

Avoid revalidating the complete account moves
that contain the lines being reconciled.
The reconciliation does not change the validity
of those moves anyway.
This represents a very important speed up of
reconciliation when moves with several hundred
lines are involved.
[FIX] stock: inventory lines with no production lot: compare with correct stock level

Inventory lines without production lot number should
be compared with the stock level of products without
a production lot. Otherwise the final result of a
validated inventory is wrong as soon as there are
lines with and without production lot for the same
product.

Adds corresponding regression test.

Fixes https://bugs.launchpad.net/openobject-addons/+bug/1008099
Manual rebase of #1658, courtesy of Numerigraphe
[FIX] web: do not focus if the focus_field is not a field

Sometimes, focus_field could be a button, and in such cases, we should not focus on it

opw-612045
[FIX] point_of_sale: field date of report.pos.order should be a datetime

The date_order field of the pos.order is a datetime, not a date
As, in report.pos.order, the date field is related to date_order of the pos.order

We usually do not commit fixes altering the model fields structure in 7.0, but this one is retro-compatible, as the database structure won't change
[FIX] product: make sure unlinked product still exists

When uninstalling/updating a module, we may execute unlink method on product.template before product.product. In such cases, the product is already removed after removeing the template (_inherits) and the chained unlink of the product would fail (traceback when browsing).
[FIX] account_voucher: avoid error if no partner

The field partner_id is not required on an account.voucher but the validation was failing if none was set (opw 611663).
This patch makes a fallback on the account of the voucher if neither a partner nor a writeoff account is specified.
[IMP] account_voucher: make the field tax_amount always readonly

The field tax_amount is fieled with onchanges and the compute_tax method. Setting a different value than the one computed by the system may lead to unbalanced move (which is obviously wrong).
In the future, handeling these operations by setting the correct value to the tax accounts would be better.
[FIX] account_voucher: wrong type in context

The type 'general' no longer exists on a account.voucher. As in general context, removed the default value on this menu.
Fixes #1261, it produces a traceback in 8.0 where the selection fields are less fault-tolerant.
[FIX] web: ignored readonly attribute on image widget
[IMP] auth_oauth: set default 'zocial' css_class

The buttons for new providers needs at least the zocial css class to be seen as button. As the field css_class is not in the default form view, add it by default.
[FIX] base: python 2.6 incompatibility for dictionary comprehension
[FIX] purchase: skip move if not linked to a purchase order

When this situation happens. the 'cost' is None and the web interface cannot handle this value, provoking a JS error. Thus, prefer to fallback on the standard way to get the cost: based on the current standard price of the product.
Fixes #1032
[FIX] point_of_sale: report, product_id of line is product_product

product_id column of pos_order_line is a product_product
the left join of l.product_id was done on product_template, instead of product_product

It worked as long as the ids product_product were the same as product_template. Meaning that, if you used variants, this report view was screwed.
[IMP] account_budget: added date filter in print budget report

Fixes #1743, opw 611307
[FIX] base: wrong model change check

Comparing an id and a browse record will always fail so the exception would have always been raised when changing a model (e.g. updating a module with custom fields).
[FIX] note: small bugs
[FIX] ir_model: invalidate cache when adding new fields

When a new ir.model.field is created, add the new field in the fields_by_model (cache of custom fields). This is required as the __init__ method would not retrieve the new field if fields_by_model is already set.
Otherwise, the _columns would not contain the new fields and we could not access it without restarting the server (e.g. the installation of a module adds ir.model.fields and use it in the a view.
[FIX] fetchmail: do not delete a failing email when using POP

In case of IMAP, the email is simply set as read but in case of POP, the email is deleted. To avoid loosing data (e.g. misconfiguration of server), the email is kept for POP.
Bug lp:1296724, opw 605667
[FIX] point_of_sale: generate bank statement with commerical partner

When a pos session is closed & confirmed, the account.move were generated with the commercial partner except for the bank statement which prevented automatic reconciliation.
This patch uses the commercial partner also for bank statement.
Fixes #1558, #1764