[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
[FIX] board: Do not offer to create dashboard when there is no action

In case we have no defined action (e.g. redirection by python code), adding a dashboard should not be possible as the rendering based on the action.
This patch hides the 'Add to Dashboard' button in search view (opw 611288)
[FIX] hr_holidays: employees cannot approve their holidays

Nor modify once approved

It wasn't possible for employees to approve their holidays themself, thanks to the GUI, but this was possible through xmlrpc calls, or when altering the html directly in the browser.
Besides, this was also possible to edit the holiday through the same trick once the holiday validated
[FIX] product_visible_discount: use order date to compute currency instead of current date
[FIX] sale_order_line: use order date to compute currency instead of current date
[FIX] security: ir.config_parameter should not be readable by externals