* Guess the scheme if r.URL.Scheme is unset
It's not expected that the request's URL is fully populated when used on
the server-side (it's more of a client-side field), so we shouldn't
expect it to be present.
In practice, it's only rarely set at all on the server, making mux's
`Schemes` matcher tricky to use as it is.
This commit adds a test which would have failed before demonstrating the
problem, as well as a fix which I think makes `.Schemes` match what
users expect.
* [doc] Add more detail to Schemes and URL godocs
* Add route url test for schemes
* Make httpserver test use more specific scheme matchers
* Update test to have different responses per route