Fix generating invalid query plans
Fix resource leak in HiveSplitSource when queries terminate early

Hive queries that don't consume all splits can leak threads that get
stuck trying to acquire the semaphore that controls how many HDFS
tree walkers run concurrently.

This change makes split sources closeable to allow for proper cleanup.
Set thread names for hive split producer and hdfs walkers