Add scenario testing infrastructure

This change adds infrastructure for the desperately needed scenario-based testing, which will double up as documentation. It also includes a bug fix for `.dice` extension templates, which were being ignored. I found this while creating the scenarios included here, so we're already winning from having these tests!

**IMPORTANT** Please hold off merging right now as I've decided to add a deprecation warning for non-`.dice` templates.