[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] account: explicitely refreshed invoice browse_record(...) in order to have correct 'date' in account.move. (Maintenance Case: 611210)
update the branch to use context_today() date instead of time.strftime() for date_invoice
removed unnecessary condition which was used to set account move date
to maintain consistent behavior, used fields.date.context_today() date instead of strftime() date everywhere invoice_date is set