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>
Process activities bt5 per bt5 upon installation in unit tests.

When installing many bt5, many activities are generated which may take a very
long time to process, instead process them bt5 per bt5 to avoid such issue.
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.