Create startup blueprint for post-init logic
- take advantage of
blueprint.record_once()
for setup logic, which is called during registration of the entrypoint blueprints (which happens after the invenio extensions have been loaded) - this pattern is already used in some core modules (e.g. invenio_rdm_records.views v1.0.0)
- also, rework the SMTP handler registration to avoid duplicate registration rather than fixing it afterwards