Added simple checklist tag type.

This is accomplished through a new tag settings JSON database. The JSON
database is titled '::brimlock/tag <tag_id>' and currently just contains
the optional 'type' key which may be set to 'checklist' to enable this
feature for that tag.

When a checklist tag is listed (showing its assets) each asset will be
checked if it is tagged with 'app:brimlock/checked'. If so, the item
will be checked. Checking and unchecking assets in the list will add and
remove the 'app:brimlock/checked' tag on the fly.

With this work, I also improved the JSON database code to work with
titles and work even when the underlying JSON database data does not yet
exist. So creating a new JSON database is simply done by creating a
JSONDB instance with the title desired (or title_id or asset_id),
setting whatever keys are desired, and then calling save_modifications.
This also allows blindly creating JSONDB instances and not worrying
about whether they exist or not. You can just use them and they'll be
empty to start with.

I also undid the separation in the WSGI interface of
templates/base.html, assets.html, and calendar.html to all just use
base.html.