Avoid duplicating routes for HEAD requests.

Follow up to rails#15321

Instead of duplicating the routes, we will first match the HEAD request to
HEAD routes. If no match is found, we will then map the HEAD request to
GET routes.
Improve router test.

We should assert that routes will not be recognized if the verbs do
not match.
Merge pull request #15443 from tgxworld/preload_head_routes

Map HEAD requests to GET routes instead of duplicating GET routes.