and other things, used by other packages (rattail)
otherwise when rattail imports them, the whole WJ model comes along
with it and it can interfere with sqlalchemy-continuum versioning
had to move `make_engine_from_config()` out of app handler and define
as a separate function, so that `get_engines()` did not need to
instantiate the app handler. because if it did, then config
extensions would lose the ability to set a default app handler - er,
they could do it but it would be ignored
this has 100% test coverage and i intend to keep it that way. api
docs have a good start but still need narrative. several more things
must be added before i can seriously consider incorporating into
rattail but this seemed a good save point