Fixes#8989. The previous fix#9004 failed for custom document models because ChooserViewset assigns an internal name for the ChooserBlock class based on the model name, and if this is anything other than Document it won't match the name DocumentChooserBlock that it's exposed under in wagtail.documents.blocks. Fix this by replacing the `block_class` property with a `get_block_class` method that lets us specify the class name. As a bonus, user code that defines chooser blocks no longer has to directly hack the `__module__` attribute.
- fix some broken refs that were lost in the migration to markdown files
- use lower_snake_case for all internal refs (most follow this convention)
- release process sub-section in docs should be named release schedule instead
Fixes#8989. Now that DocumentChooserBlock is constructed dynamically via wagtail.documents.viewsets.chooser, we need to explicitly set its `__module__` attribute so that the result of calling `deconstruct()` for migrations points back to the wagtail.documents.blocks module.
Also update the documentation for defining custom choosers, and add tests for deconstructing the other chooser blocks.
The Menu class was not originally designed to accept menu items at constructor time (instead requiring them to be passed via hooks); ModelAdmin's SubMenu class patched this functionality in, and the documentation for extending admin views piggybacked on this. Add this functionality to the base Menu class so that we don't have this unnecessary dependency on ModelAdmin.
Update sample code in the section
Extending Wagtail -> Adding new Task types -> Adding notifications
The previous example did not work because of changes in
`wagtail.admin.mail`
`EmailNotifier` doesn't exist, so we need to import
`EmailNotificationMixin` and `Notifier` instead, and
update `BaseUserApprovalTaskStateEmailNotifier`
accordingly
These were previously added at Daniele Procida's recommendation so that 'how to' pages could easily be identified in a future reorganisation that splits them out from other modes of documentation. Since 'Extending Wagtail' as a whole is expressly a 'how to' section, this is no longer required.