Previous implementation write DDL binlog as early as when job is added to the queue, but DDL may be canceled, we should not sync the ddl at that time, there would be a long time waiting for the DDL to be done. After this commit, DDL binlog is written right before the DDL job is done, so we don't need to wait. Also expose a 'GetAllHistoryJobs' method in meta which will be used later.