Fix README link
(fix) Return 404 response, if file was not found

Instead of returning an Err and defaulting to a 500
response code when Static is unable to find a file,
we now correctly respond with a 404.

The 404 is returned directly from `handle` as opposed
to `catch` since it is not a Server error but a client
error.

Fixes #40
Merge branch 'hannobraun-bug/error-404'
Merge pull request #45 from EduardoBautista/fix-doc-link

Fix README link
(cleanup) Simplify tests file name
Add test for "redirect to trailing slash" behavior
(refactor) Move handler into dedicated module
(refactor) Add new type for requested paths

This type contains a lot of the logic that previously was in `Static`.
This has two advantages:
- It simplifies `Static` and makes it easier to read.
- It makes it possible to write other handlers without duplicating code
  from `Static`.
(refactor) Move FileError into dedicated module
(feature) Implement 304-caching
Merge branch 'feature/304-caching'