(cleanup) Simplify tests file name
Add test for "redirect to trailing slash" behavior
(refactor) Move static file handler into dedicated module

I'm about to add another handler for 304 caching and I think having them
all in the same file will become inconvenient.
(refactor) Add new type for requested paths

This type contains a lot of the logic that previously was in `Static`.
This has advantages:
- It simplifies `Static` and makes it easier to read.
- It makes it possible to write other handlers without duplicating code
  from `Static`.
Move FileError into dedicated module
Implement 304-caching in a separate handler