* Make separate libs Common/ZooKeeper and Common/ConfigProcessor
renamed: dbms/src/Common/StringUtils.h -> dbms/src/Common/StringUtils/StringUtils.h
* Fix space
* Fix data in system.build_options
* merge
* merge
- We add BackgroundSchedulePool which can execute a function at a specific point in time. Basically all tasks are added in a queue and precessed by worker threads.
- The most important difference between this and BackgroundProcessingPool is that we have the guarantee that the same function is not executed from many workers in the same time
- Each of the following classes instead starting a thread will register a task in BackgroundSchedulePool and when they need to run will call schedule or scheduleAfter(duration) functions
This commit is moving all threads created by ReplicatedMergeTree to BackgroundSchedulePool tasks
NOTE: I did a minimum number of changes to be much simple to review the code