Fix _set*UidSet accessors
CategoryTool: clean up getCategoryParentUidList
CategoryTool._setCategoryMemberShip: bugfixes and cleanup

- duplicated default categories were dropped when the list of categories was
  passed without their base categories
- accept any iterable for 'category_list'
CategoryTool: remove ancient _cleanupCategories migration method
CategoryTool.getAcquiredCategoryList: do not duplicate loopback value on categories
CategoryTool: optimize getCategoryList and getAcquiredCategoryList
CategoryTool: remove broken/unused getRelatedValueList parameters
Reset cache listing categories for ZSQLCatalog when base categories are edited
testCMFCategory: clean up afterSetUp
CMFCategory: add support for ZODB indexing of related documents
Merge support for ZODB indexing of category related documents
Simulation: index 'delivery' categories in ZODB

Use of catalog to get related simulation movements from delivery lines/cells is
unreliable.

Until now, for any new code written for simulation, we often had to be careful
not to call getDeliveryRelatedValueList too early, usually by deferring code
to activities with complicated dependencies. Race conditions are difficult to
avoid by developping this way, because for a given delivery, there are
potentially so many events that happen at the same time, involving:
- simulation, amongst causality, expand, building, solving (including split)
- alarms, user actions, external interfaces, chains of activities
- several related deliveries and simulation trees

This commit enables ZODB-indexing of related documents for 'delivery' base
category, making getDeliveryRelatedValueList safe and fixing unlink of
deleted delivery lines/cells.

Existing activity dependencies are left unchanged because builders only uses
catalog and local building needs to find all simulation movements.