Consolidate tests, rename

The 'GET /' test is currently asserting that a directory listing is
produced, so call it what it is.
Determine Content-Type header dynamically

- Closes issue #1
- Use a 'mediaType' field in Response
- Assume text/plain by default
- Pass 'response' along through some methods (should be refactored later)
  - executeRoute() may alter 'response', so call it before constructing
    headers
- TODO Address images (see XXX in code)