[TEST] Use canonical path for comparison rather than absolute path
Be stricter parsing ids for ids query

Adds a check to make sure that all ids in the query are either strings
or numbers. This is to prevent the case where a user accidentally
specifies:

"ids": [["1", "2"]]

(note the double array)

With this change, an exception will be thrown since the second "[" is
not a string or number, it is a Token.START_ARRAY.

Fixes #7686
Test: AckClusterUpdateSettingsTests - only set publish_timeout to 0 after green
[TEST] move fragile tests to BadApples rather than AwaitsFix