[FIX] ir_model: Uninstall with orphan external ids of ir.model.fields

On uninstalling, if external ids are associated to an unexisting field, we do not try to delete the field (as it doesnt exist) and we remove the orphan external ids
[MERGE] Forward-port of latest saas-2 bugfixes, up to rev. 5015 dle@openerp.com-20140221104908-7ytdg6xkxaza05o4
[FIX] website's translation problems on multiple view inheritance
[FIX] res_partner: avoid duplicating users when duplicating partners, because
I think your database wil hate you.
[FIX] injected views need branding distribution too

forgot to set it up after installed injected view skipping during distribution of injectee
[IMP] in view tests, replace tostring() and string comparisons by custom lxml.etree comparator
[IMP] unbrand t-raw and t-esc as keeping them branded makes very little sense

they can't be edited in any situation
[FIX] t-ignore should remove injected sub-view branding below the ignore flag
[IMP] fields: html: now supports a sanitize argument, telling
whether the content of the html field should be sanitized before storage. This parameter
is true by default.
Example of use: html of email template is considered as html content, but contains
mako strings that makes this content not valid html. Sanitizing the body content
can cause issues to the template; therefore storing it as html but not sanitized
allows to keep its content safe.

Added a test case to ensure this behavior.
[IMP] Add options hide_seconds in widget datetime. If this option is set with another value that False, seconds are removed from pattern to display only hours and minuts
[FIX] ir.http.authenticate: avoid discarding sessions when authentication status is unknown

In some cases the authentication check can fail
for an unknown reason (e.g. connection pool is
temporarily full). This should not be treated
as an authentication failure, as the status is
really unknown. Let those exceptions bubble up
instead.
[FIX] Remove default tz from context, to allow website (Public user) to usecorrect timeZone. Now event (eg) will be displayed with the TimeZone of "Public User" by default
[FIX] Remove default tz from context, to allow website (Public user) to use correct timeZone. Now, module from website using date as event will be displayed with the TimeZone of "Public User" by default
[FIX] base: widget selection changed its behavior in saas-3

_search overwritten in res_company to allow user to change of company among its allowed companies is not usefull anymore, name_search is now the method to overwrite.
moreover, widget selection replaced by options no_create in user preferenes view, to allow typing in the many2one(for searching purpose) without having the option to create a new company or edit.
[FIX] base: qweb display correct traceback on exception
[FIX] http: ensure to clean the request cursor before calling the route function.

The route function can be call more than once in case of database error,
breaking the request cursor. By rollbacking it, we force the creation of a new transaction.
[MERGE] forward port of branch saas-3 up to revid 5088 chs@openerp.com-20140311095550-lg3nvvjyojvgp2po