invoicing: Copy lines by portal type, not by simulation relationship.

Simulation relationship fails in (at least) two cases:
- cancelling an invoice which was entirely created by simulation would
  create an empty invoice
- cancelling an invoice with simulated accounting lines generated from
  temp-object-based simulation would copy those lines, while they should
  not be copied
Also, implement recursive copy of Invoice Lines, as (per portal type
definition) they can be arbitrarily nested.
Also, prepare a place-holder for Invoice Cell copy. As I do not have a
document with cells at hand, and do not know all relevant properties, I
decided to keep this code disabled and raise.
invoicing: Only set original invoice as causality.
Credential Update: add support for telephone country code update.
fix a typo : PyPdf2 -> PyPDF2.
Better exception handling when comparing revisions in ERP5 UI
Allow import of all exceptions defined in zExceptions
Arrow: Add several categories into Arrow property sheet.

Add following six categories:

 source_decision_administration
 destination_decision_administration

 source_carrier_administration
 destination_carrier_administration

 source_section_administration
 destination_section_administration

Definitions:

- source/destination_decision_administration:
  An entity who receives order and do paperwork for order.

- source/destination_carrier_administration:
  An entity who handles shipment and do paperwork for shipment.

- source/destination_section_administration:
  An entity who do paperwork for invoice.
ZSQLCatalog: fix search of non-NULL values
ZSQLCatalog: simplify Query.__repr__ in SearchTextParser
ZSQLCatalog: add support for NULL value in SearchText parsing
Unit Test: Make sure how FloatFiled rounding.
add missing destination_advice and source_advice base categories.

we only had destination_advice_relative_url and source_advice_relative_url acquired properties.
testXHTML: use suprocess instead of obsolete popen and close file descriptors explicitly
Support owner with no related person in listboxs
hack to prevent keeping too many open files in testxhtml
Allow the user to change his password from a preference

This is to keep procedure compatibility ( My Favorites / Preferences / Action ... Change Password)
use restrictedTraverse instead of traverseName that is now private since Zope2-2.13.21.
Allow importing python's calendar module.

Prevent access to locale-dependent and stdout-writing functions.
A delivery is not supposed to contain lines the user printing the delivery cannot view

Instead of hiding those lines and printing an incorrect document it's safer to
let the unauthorized error happen.
Add suport for anonymous user with groups or additional roles