WIP: providesI<INTERFACE_NAME> accessors were not created for ZODB Components
@nexedi provideI<INTERFACE_NAME> (such as providesIPredicate) accessors are currently generated by importLocalInterface() and then set on Base class. These accessors were not generated for ZODB Components, so this MR is about fixing that. All Unit Tests and CodingStyle Tests pass.
As these accessors need to be re-generated on reset, I put them in BaseAccessorHolder. For unification sake, I moved accessors of filesystem Interfaces from Base to BaseAccessorHolder. While doing so, I found out that ERP5Form and CertificateAuthorityTool were still being created by Document instanciation directly (which has been banned since we moved to erp5.portal_type) rather than through newContent() (or constructInstance()), so I have fixed that and added proper Portal Types in portal_types for ERP5 Form in (moved from erp5_hal_json_style to erp5_core) and Certificate Authority Tool. At the same time I got rid of direct Document instanciation, I removed _getAcquireLocalRoles() hardcoded methods on these Documents (added by @vpelletier in 58d4ab8e).
@rafael Is that okay for you that erp5_promise now depends on erp5_certificate_authority_tool (where portal_types/Certificate Authority Tool and portal_certificate_authority are)? BTW, this is unrelated to this MR but I wanted to ask: I have heard from @jerome that Certificate Authority Tool is supposed to superseeded by Caucase so it is probably not worth it migrating it to ZODB Components?