tests: consolidate http_server.py and archive_server.py

Change-Id: I28b20b52a52ee7f4a1ea5dd152233701acc3bdea
beaker-provision: enforce timeout for fetching distro tree images

A sane timeout is particularly important for fetching images because
when beaker-provision shuts down it waits for all commands to complete
normally, which means it will wait for the images to be fetched -- which
could take forever if no timeout is enforced and the server is
misbehaving.

Bug: 1094553
Change-Id: Iaff0313f88b12f1ce708fc0a1b3e85c1fe08dc32