Moved tests from QueryAdvancedTests to QueryIndexMigrationTest 

Moved several tests from QueryAdvancedTests to QueryIndexMigrationTest and refactored them.
Logging if partitions changed while query was running.
Changed remote call in QueryOperation to local hasOnGoingMigrationLocal.
Introduced TimeConstants to make timeout definitions more readable in tests.

With this particular logging I'm hoping to get more information on intermittently failing tests. It could be useful to end users or support but I imagine it's quite rare that this will happen.
 
Retrying here will help but will not solve all of the problem, I believe. Migration might still be happening on other nodes. I'm thinking we should send the `partitionStateVersion` together with QueryResults to the client. The client then checks if all results have the same version. If not, retry query. Planning that for another PR.