We mustn't define operators or hash functions for types we don't own,
esp. not in a header file, because when someone else gets the same
idea, we have an ODR violation, unless they get it token-for-token the
same as our implementation.
One option would be to replace the QHash with an STL container. Those
can take per-container Hash and Equal function objects, so we wouldn't
need to declare the global ones.
But let's use a wrapper around the type on which we define the missing
operators instead.
As a drive-by, rename the arguments to the idiomatic lhs/rhs/key, from
a/b/s.
Change-Id: Ibbc2083bcd7423c5d443a0ca1b820cbecb241865
Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>