-----
- Added an Extensions.Install module and an initial test suite.
[stefan]
- Added optional reinstall argument to install() and uninstall() method
[tiran]
- Enabled uninstall of deleted products by making the parser.py handle
missing product directories slightly more gracefully.
[tesdal]
- Fixed multiple register bug
QI doesn't assign an object to a product when it is already registered
for another product. This fixes bugs like the removal of the archetype
tool when a product was removed which itself had had installed Archetypes.
[tiran]
- Added afterInstall / beforeUninstall hooks:
out = afterInstall(portal, reinstall=reinstall, qi_product)
out, cascade = beforeUninstall(portal, reinstall, qi_product, cascade)
[tiran]