The query string cache can't return the same instance, since Query is mutable changing the query else where in the execution path changes the instance in the cache too.

Instead the query parser cache should return a cloned instances.

Closes #2542
Closes #6733
Added licence header
[TEST] Reset all cluster if a test hit a failure

Closes #6734