Query "cache key" used for determining if a query is different (for the purposes of caching) doesn't allow for different FetchPlan

Needs to allow for whether the FetchPlan is different too, for example if one usage has some FetchGroup enabled and in another it isn't then this likely means different fields selected for the query, hence a different datastore query

Description

Needs to allow for whether the FetchPlan is different too, for example if one usage has some FetchGroup enabled and in another it isn't then this likely means different fields selected for the query, hence a different datastore query