Using external applications in tests

This allows decoupling the tests from the test application(s).

Test applications, due to dependency on bottle, require a modern Python. Running tests and the test apps in the same process also requires threading. Decoupling apps from tests permits testing pycurl in a threadless Python or in old versions of Python.