Upon Business Path Item installation, update Local Roles of objects whose Portal Types defines Roles.

Before, Local Roles were not updated upon Path Item installation, thus leading
to security issues (such as Trade Model Line). This avoids ugly hacks in
Upgrader and in tests as well.

Also, move Portal Types Role installation before Path so that they can be used
before updating Roles during Path installation.
Avoid running out of file descriptors when backing up many objects in the trash upon bt5 installation.

Before, when installing a bt5 whose format has changed, many subobjects may
end up being backup up, but it keeps one FD per subobject, thus easily
reaching the limit of 1024 FDs (as given by ulimit -Sn/-Hn).

This is a followup of b71e5a7 specific to TrashTool as that commit seems to
only fix the issue when TrashTool is not used.
Add unit test helper to get the checkConsistency() error messages as string.
If a Live Test is interrupted, MailHost may have not been restored yet.
Store Live Tests log in INSTANCEHOME/var rather than in a StringIO.

This avoids copying/pasting the content of the form and also keep records for
later inspection.
Two hours may not be enough to run Functional Tests so increase timeout.
Automatic migration to ZODB Property Sheets failed because of Folder
generateNewId() calling getIdGenerator() accessor which not available yet,
thus define a dummy accessor so that erp5_property_sheets can be installed.
Avoid regeneration of classes when starting a node within a cluster with already started nodes.

When starting a node, ERP5Site.__of__ calls ComponentTool.reset(), which was
never synchronised so it returned True (without generating a new cookie at its
level) and causing synchronizeDynamicModules to be called with
force=True. This generated a new cookie and leading to dynamic classes being
meaninglessly regenerated on all nodes.

Instead, modify ComponentTool.reset() behavior so it *always* reset Portal
Type classes when Components are reset (as it should have always been as the
class inheritance may have been modified) and force regeneration of Portal
Type classes in this method if reset is True.

Signed-off: Vincent Pelletier <vincent@nexedi.com>
Fix migration of Constraints when project A and B uses shared bt5 where only A has been migrated.

Before, Constraints on the filesystem were checked but this does not work in
the forementioned case as the Constraints of project A are not available
anymore, thus those Constraints were skipped.
Disable SCIM when running Functional Test as it may cause problem with Firefox (Mandriva at least).
Implement Extensions for Functional Test to be able to check whether a report has been generated.
Follow new listbox sort button style in several functional tests.
Follow new listbox sort button style on Functional Tests in listbox_zuite.
Follow new listbox sort button style on Functional Tests in relation_field_zuite.
Follow new listbox sort button style on the functional test of project_zuite.
Follow new listbox sort button style on the functional tests of erp5_accounting_ui_test.
Remove a useless variable which caused a side effect in the Functional Test.
Fix inconsistency in Localizer and MessageCatalog translate method for message with no translation.

The former calls zope.i18n.translate() which calls MessageCatalog.translate()
by passing 'default' argument to the original message, thus returning the
original message when there is no translation. But, when the latter is called
without 'default' argument, it is set to message.strip(), thus returning the
strip'ed original message.
Ignore temporary documents for content translation Interaction Workflow.

This is useless and likely to trigger errors anyway, such as the document
being not available when Interactions is actually called.
OrderBuild is not simulated so it should GeneratedDeliveryBuilder and not SimulatedDeliveryBuilder.