Fail early if extension doesn't implement setup()

Fixes #813
Merge branch 'release/v0.19.x' into develop