hashmap: Fix the example using derived Hash + Eq

The example derived Hash + Eq on a type that was used as *values* for
a hashmap.. for the example to make sense, we have to use a custom *key*
type.

Write a slightly more involved example, still using Vikings, but this
time as key.

I preferred using String over &str here, since that's the typical usage
and we might want to lead users down that path.
Merge pull request #20214 from bluss/fix-hashmap-example

hashmap: Fix the example using derived Hash + Eq

Reviewed-by: alexcrichton