Serve static files from root rust-lang-nursery/thanks

A bunch of special files served from the root path can do fancy stuff like:

  • provide icons (favicon.ico, apple-touch-icon.png, tile.png, ...)
  • control bots and stuff (robots.txt, humans.txt, ...)
  • describe the website structure (sitemap.xml)

This change makes adding these kinds of files simple: the whole public folder
is served at the root, so they just go inside that folder and things Just Work.
Most static files are served from sub-folders anyway, and now those paths are
less of a mouthful.

It's basically nginx's try-files directive.

The obvious alternative would be to configure routes for each special static
file that we want to serve from the route, which would just serve that file.
This would have the advantage not touching the filesystem for every request to
see if there's a static file we can serve.

I'm proposing it this way instead because

  1. OSes are smart, so fs checks on every request are probably cheap enough?
  2. Caching should probably prevent rust from serving most requests anyway
  3. Configuring routes and handlers (or a macro or something) seems painful and
    tedious and higher-barrier to getting stuff done.