Fix auto-hashing the password
Attaching blueprints: the siteblueprint name must be unique
site: block dup blueprint names and bad paths
Bite the bullet and do dup attr tests in __declare_last__
Implement my own class-based fixture code

The problem is that pytest's fixture setup is called once … during test
discovery. Which is way too early to be useful for anybody.
app setup fixed
Blueprint: root path is "/"
Cleanup template loading

and don't forget those in blueprints …
Actually name the root blueprint
Make the "run once" logic global, since pytest uses a different object.
Check that the app is really there
Default for ON UPDATE in foreign keys seems to be RESTRICT

doesn't help much, but still …
Load templates without a named prefix

that's implied by the part they're attached to
otherwise we'd search too widely
Load templates from wherever

Extend template loading:
* an entity
* if it's a site:
  * the SiteBlueprint attached to it (sbp.name/templatepath)
  * or the Blueprint underlying that (bp.name/templatepath or sbp.name/templatepath)
  * the app (appname/templatepath)
* recursively: its parent
  * or its superparent, if that runs into a loop

which should be a complete solution.

Oh yes: this is even tested.
Fix test_user

Tests now all pass.