Fix comparing resource clients with differing lists not raising an error
The previous implementation of item_hash (used by ResourceClient.compare) used an in-place .sort method. This returns None for all lists, which means that resource clients which differ in that list will incorrectly appear as if they were equal. To confirm this, I have added a test which fails on master.
fwiw: I found this bug during a research project I'm working on which uses LLMs to write property-based tests in Hypothesis. This property, that different lists hash to different values, was proposed and written "autonomously" by the agent. I wrote this PR myself and take full responsibility for it.
(By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.)