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 pull request #47 from hannobraun/cleanup/add-more-tests

Add more tests
(doc) Add an example for combining routes and a static file server.

This adds an example to a seemingly commonly asked question of how to
serve files at a specific mount point while delegating the rest of the
routes to a router.
Merge branch 'blaenk-master'
(cleanup) Simplify tests file name
Add test for "redirect to trailing slash" behavior
(doc) Add an example for combining routes and a static file server.

This adds an example to a seemingly commonly asked question of how to
serve files at a specific mount point while delegating the rest of the
routes to a router.
(refactor) Fix style nitpicks and move root_path.
Merge branch 'hannobraun-feature/304-caching'

The approach taken here is to implement caching in a separate
handler that is a drop-in replacement for `Static`. Simply replace
`Static` program with `StaticWithCache` and the client will
magically start to cache files.