Add an adapter for easily attaching code to specific routes

Before this, routing for apps and blueprints was nested inside the object.
The advantage was that this code could access the configuration values.

Therefore. this changes the blueprint code so that request.bp contains
the current blueprint (i.e. the current SiteBlueprint object) which
allows the code to access configuraton values, permissions, etc.
route: fix sample code in docstring
Move the subdomain dispatcher to the session

still not quite right, but an improvement
Initial move-in of old code destined for the _root blueprint

horribly broken
_root blueprint: fix basic imports
_root blueprint: replace NoResult with NoData
_root blueprint: replace db.get_by(Foo, …) with Foo.q.get_by(…)
_root blueprint: Use the global request object
The DTD is simple, these days
Typo in import
superfluous imports
Get the thing to compile
missed an (empty) file
Applied/updated boilerplace in new files
There is no such thing as request.site, but there is request.user

As a result, make the "user" parameter from object tracking optional
Try to actually create an ANON user, and add their permission object

… which should then be evaluated correctly …
missing import
Throw an error message when unable to import apps or blueprints while populating

TODO: split that code up
Missed a request.user parameter
Obliterated the remaining uses of "db.store"