* [IMP] module_auto_update: Create new module
* Add checksum_dir and checksum_installed fields to ir.module.module
* Add checksum_dir to compute current checksum of module directory
in addons path
* Add checksum_installed to store checksum of module directory
when module was last installed or upgraded
* Use checksumdir Python library to compute module directory sha1
hashes, ignoring pyc and pyo extensions
* Extend update_list method to compare modules' checksum_dir and
checksum_installed, then change state of modules with differing
checksums to 'to upgrade'
* Replace Apps/Updates menu item with menu item of same name, which
updates apps list and displays tree view of ir.module.module
records with state 'to upgrade'
* Extend create and write methods to store computed checksum_dir as
checksum_installed during module installation and upgrade, and
set checksum_installed to False on uninstall
* Use context to stop checksum_installed from being updated during
upgrade/uninstall cancellation
* Add cron job to periodically check for module upgrades by
comparing checksums, then perform any available upgrades
* Extend upgrade_module method (called by cron and 'Apply Scheduled
Upgrades' menu item) to call update_list
* Add post_init_hook to store checksum_installed of existing
modules
* Add test coverage
* [FIX] module_auto_update: Fix test broken by changes
* Use dummy module to test update_list method instead of
module_auto_update
* Update _patch_methods and _revert_methods in auditlog.rule model to properly
track whether a method has already been patched for logging purposes. This
prevents duplicate logs from being produced in various cases (e.g. when a
logging rule is created as part of a module install)
- Update documentation to point to the new auditlog menu locations. These were changed because the 8.0 version was referencing menus that do not exist in 9.0
- Change version from 8.0.X.Y.Z to 9.0.1.0.0
- Make the module installable again
- Remove an unused parameter from pre-migration.py for versioning
- Fix typos and remove commented out blocks of code that were irrelevant