[FIX] point_of_sale: field type on bank statement line no longer exists
[FIX] Restore /login redirection on SessionExpired

The feature was broken due to an incompatibility
when forward porting 624f256 and a78e27f
[FIX] stock_account: Preserve action_done return value

stock_account module override the action_done method of stock.move but does not return the same value
This causes problems when calling this function from xmlrpc because the resulting value is now None and that is not allowed to be marshaled by default.
[IMP] ir.attachment: include traceback when logging low-level filesystem errors
[FIX] ir.attachment: less non-transactional side-effects during deletion

When deleting filesystem-backed attachements, the
deletion on the file-system is not transactional.
In the event of a transaction rollback, the file
deletion would not be rolled back, which is a
dangerous side-effect.

This can happen for example when several transactions
try to delete the same file(s) at the same time.
The duplicate deletions might be detected by the
database (being concurrent update errors), and rolled
back at the point of the DELETE query, to be retried.
If the files have already been deleted in the file
system it before the rollback, it leaves the system
in an inconsistent state, at least temporarily.

One case where we have seen it is when web bundles
are loaded by many web users at the same time, right
after being updated (and thus invalidated).
As they are currently cached as ir.attachment records,
this often causes a corruption of the cache.
[FIX] ir.qweb: consider empty cached bundle as a cache miss

Sometimes a cached bundled could be missing in the
ir.attachment filestore (for example after copying
a database for test purposes without duplicating
the filestore as well).
When this happens ir.attachment will return an empty
file contents ; treat this as a cache miss.

This means empty bundles would not be cached, which
is not a big issue - there is little benefit in
caching them, and they should not be common nor
useful.
[MERGE] Forward-port of saas-5 up to 9ce08b7
[IMP] doc/backend: add example for JSON-RPC interaction
[WIP] point_of_sale: refactor error popups in preparation of a multicompany-screwup prevention error popup
[WIP] point_of_sale: checking for consistency between the user and the session's company
[FIX] point_of_sale: the self_checkout related fields are obsolete and should be removed, but we are too late in the release schedule to do so. Marking them as FIXME, to be removed for next major version
[FIX] point_of_sale: prevent inexact payements when there is no cash payment method available as it will crash the backend
[FIX] point_of_sale: activate on screen keyboard for user search
[FIX] point_of_sale: flush orders before closing the pos. This will help prevent users from closing the session with unflushed orders