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
(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