added required package namespace boilerplate

Otherwise BFW breaks finding other tiddlywebplugins.

I discovered this while trying to add twp.diststore into the midst.

Doing the change here to separate it out from other things.
added missing submit button so content can actually be saved
implemented basic i{builder,maker} packaging for BFW

This is the "standard" way of doing things, where content
gets copied into a newly created instance, in this case
created by the bfwinstance script. If time allows a further
branch off this one will try to do it the non-copy way.

The main pieces of this are:

* A 'remotes' make target that uses t.b.instance info to
  put content in a pkgstore
* src/assets.recipe which defines the content to go in
  an assets bag
* bfwinstance which creates an instance using the pkgstore data
  and instance info
* adjusting layout.html to use the bag-based assets rather than
  remotes
registered bfwinstance script, added MANIFEST.in

most likely incomplete
added missing includes and distribution target

cargo-culted from TiddlySpace

NB: `remotes` has to come after `test` for the `dist` target as
otherwise remotes are removed again
moved favicon into repository

this is a custom creation, so it belongs here
ensured special "assets" bag is not treated as a wiki

this is very much a crutch; it'd be nice to have a more generic / less
centralized mechanism to distinguish wiki and non-wiki bags - @cdent?
simplified instance definition
simplified system bag detection

if the owner is "bfw" (which is a reserved account and not to be used as
a regular used), the respective bag is not considered a wiki

however, we probably also need write checks on those bags - hopefully
we'll write proper tests for this eventually

in the process, eliminated duplication in `user_home`
fixed dashboard

the introduction of special bags[1] resulted in erroneous 404s due to the
"assets" bag being checked by `_ensure_wiki_readable`[2]

the fact that this utility function may raise both ForbiddenError and
HTTP404 seems like a symptom of badly mixed levels of abstraction, but
I'm not currently sure whether/how to resolve that - perhaps @cdent has
an opinion?

note that this required significantly altering the test infrastructure,
spawning an instance to create the "assets" bag and thus requiring
`remotes`

[1] cf. 9fb7efc629e8621199477f17f50312ca88f63a0d - untested at the time
[2] not sure why this issue wasn't encountered in manual testing but
    only when spawning an instance as part of the tests - which leaves
    me a little paranoid that perhaps I'm misinterpreting what's going
    on here
ensured notifications are only rendered if necessary
fixed CI by including build dependencies
moved settings into config module

as suggested by @cdent

for the moment, I opted not to use `wikitext.default_renderer`; we want
explicit types, the fact that in other systems there are tiddlers with
`type: None` seems like a mere legacy issue
removed static assets from store

the original idea (cf. 74b611b6d6c8a0e0af1ca33a72123b7fd95f54a0) was for
static assets to reside within the package (as pkgstore), being linked
into instances via diststore

however, that not only added a fair amount of complexity, it also makes
it difficult or impossible for static assets to be served by the web
server rather than the application

furthermore, it's questionable whether application assets should be
treated as tiddlers / user-generated content - getting rid of this
special bag also means we don't have to worry about that distinction
anymore (cf. 9fb7efc629e8621199477f17f50312ca88f63a0d,
fe7370daa8d5408506191addfa1675953ecc879c,
0636a335ac24691dcc8f52c9c7b476f5f873b3c0)

thus in upcoming commits we'll treat static assets as regular files
rather than tiddlers

note that the adjustments in `config.py` and `instance.py` rely on
yet-unreleased changes to imaker:
https://github.com/cdent/tiddlywebplugins.imaker/pull/3
added handling for static assets

as expected in the previous commit
(e6fb82055dcc853ba75c17b38691c62963487d01), static assets are now
treated as regular files instead of tiddlers

there are two kinds of assets: local and remote - the former reside in
the package's "assets" directory, the latter are reference in
"remote_assets" and copied into the former directory using a simple
script (`assetr`)

these assets are served via an application handler which retrieves them
directly from the package

caveats:
* no caching headers yet (though this is true for all handlers at the
  moment)
* ideally, static assets should be served by the web server rather than
  the application - for this a separate script will need to copy all
  assets into a predefined directory because the web server cannot
  evaluate package resources at runtime
* mixing local and remote assets in the same directory makes it awkward
  to distinguish between both (cf. the Makefile's `clean` target, but
  more problematic in `.gitignore`)
updated Makefile to use null terminators for safety

this avoids errors for file names with spaces (e.g. within the
virtualenv)
moved and renamed remote assets directory

as pointed out by @cdent, these don't need to be part of the package:
https://github.com/FND/tiddlywebplugins.bfw/pull/19#discussion_r5534834

not sure whether "externals" is a suitable name though
replaced static handler with generic plugin

NB:
* this relies on a yet-unreleased version of tiddlywebplugins.static:
  https://github.com/tiddlyweb/tiddlywebplugins.static/pull/1
* tiddlywebplugins.static is being initialized from within BFW's
  initialization to ensure it takes precedence over subsequent BFW
  handlers - it would be nice if this could be replaced by a simple
  entry in `system_plugins`, but I got myself confused between `config`
  and `instance_config` (the former doesn't seem right while the latter
  doesn't seem to do anything)
removed obsolete dependency reference

this was forgotten in e6fb82055dcc853ba75c17b38691c62963487d01
ensured tests use the spawned instance

this not only ensures that the instance works as expected, it also
simplifies the setup considerably

caveats:

* not sure why the "templates" symlink is required
* it appears the instance's `tiddlywebconfig.py` is not being evaluated;
  within `load_app` the settings from `instance.instance_config` (e.g.
  `server_host`, `system_plugins`) are no longer present, even when
  forcing a `merge_config` beforehand

/cc @cdent