[WIP] Fix and refactor launcher (part 2)

### Motivation
Further simplify launcher and fix a couple of bugs along the way.

### Changelog
* Drop separation of `db_dir` and `db_file`; it's just a `db_path`. This makes for much more uniform code. Ditto for `log_path`.
* Factor code setting up paths and the DB.
* Fix `--log-level` not requiring an `int` argument.
* Group together code pertaining to setting up development mode.
* Focus launcher tests on the argument parser.
* Other minor cleanups; see commit messages for details.

### TODO
* Test path setup more thoroughly. In particular, test that this PR fixes #1011.
* Test creation of `OpenBazaarContext`.
Yes. A `threading.Lock` does so.