Move registration of consumers into exception loop.
Declare queues durable.

With durable queues we can zero consumers active and the messages will
persist (not across reboots of the message queue).  This let's us route
to zero consumers notice that increase and then add consumers based on
the change in message queue size over time.
Revert "Declare queues durable."

This reverts commit 2e1543b823040ebc11f3afd226b4cf02d39e5acb.
Update article URL generator to match article_id.
Close queue channels after use.
Change api module to blend.
Add tinge stub application.
Rename MARGARINE_API to BLEND.
Merge branch 'master' into component/tinge
Add notation about desired tinge interface.
Simplify the tinge module definition.
Add notation about tinge to the README.
Move tinge back to a package from a module.

By using a package we can group the static files, templates, &c into the
package rather than pollute margarine as a top-level package any
further.
Make tinge executable.
Add missing socket import.
Update one last api → blend.
Merge branch 'master' into component/tinge
Add basic frontend (missing templates).
Change default blend port.
Merge branch 'master' into component/tinge