- some copier work needs to be improved

1. clickhouse create destionation table just once if success
2. support settings_push.replication_alter_partitions_sync =1 at attach partition 
3. ...
break;
                was_error = true;
                
                if (task_status == TaskStatus::Active)
                    break;
                
                std::this_thread::sleep_for(default_sleep_time);
            }
            if (task_status == TaskStatus::Error)
                ++num_failed_shards;
            previous_shard_is_instantly_finished = !was_error;
        }
        cluster_partition.elapsed_time_seconds += watch.elapsedSeconds();
        
        
        bool partition_copying_is_done = num_failed_shards == 0;
        try
        {
            partition_copying_is_done =
                    !has_shard_to_process
                    || (partition_copying_is_done && checkAllPiecesInPartitionAreDone(task_table, partition_name, expected_shards));
        }
        catch (...)
        {
            tryLogCurrentException(log);
            partition_copying_is_done = false;
        }
        bool partition_moving_is_done = false;
        
        if (partition_copying_is_done)