Move node-scheduler.min-candidates to query.min-source-candidates

This might not add any value right now. But there're some motivations here.

I think two configuration values are involved to determine how many nodes are used for a query. One is `query.initial-hash-partitions` and the other is `node-scheduler.min-candidates`. If `query.initial-hash-partitions` and `node-scheduler.min-candidates` work as a pair, we could understand how cluster resources are allocated more easily. To make them a pair, `node-scheduler.min-candidates` can be moved to `query.min-source-candidates`

And this change let the `NodeScheduler` purely in charge of node scheduling algorithm. So required node numbers can be put as parameters whether its hash or scan.

We also expect that presto could support a resource management per query at a near milestone. Then we might want to allocate different numbers of hash and scan nodes per query. 

As existing constructor implementation of `SqlQueryExecution` have initialHashPartitions as it's property, if it accepts another node allocator property minSourceCandidates, we could control cluster resources better.