More complete separation of main and central code

NOTE: this branch depends on the test_runner code.  Please review and merge that first, to simplify this pull request.

Main and central code overlap in somewhat weird ways that make (downstream) generalization a bit more challenging, and make them semantically less like separate apps:
* no urls.py files for main and central; instead combined in kalite/urls.py
* 404/500 views code is put in one view file, with weird references in urls.py
* definition of using central server base template is made in main/custom middleware
* base_central template lives in the "main" template space, not the central directory.

I addressed these with some code moving, and some automated tests to catch very basic regression errors.  More tests can be done (with logins) later; all will be tested manually.

I've tried to pull this code out of other (later) code, to make a more simple, coherent pull request.