message: Output deterministic merging mapping
  Summary:
  Class mapping is deterministic after the diff.
  Method order is not, will look into it latter.
diff: @@ -454,9 +454,8 @@ void trim_method_debug_map(
  TRACE(CLMG, 5, "Method debug map trimmed %zu", trimmed_cnt);
  }
  -void write_out_type_mapping(
  - const ConfigFiles& conf,
  - const std::unordered_map<const DexType*, DexType*>& mergeable_to_merger,
  +void write_out_type_mapping(const ConfigFiles& conf,
  + const std::vector<const MergerType*>& mergers,
  const TypeToMethodMap& method_dedup_map) {
  std::string mapping_file = conf.metafile(TE_MAPPING_FILE_NAME);
  std::ofstream os(mapping_file, std::ios_base::app);
  @@ -465,10 +464,9 @@ void write_out_type_mapping(
  }
  std::ostringstream out;
  - for (const auto& pair : mergeable_to_merger) {
  - auto mergeable = pair.first;
  - auto merger = pair.second;
  - out << SHOW(mergeable) << " -> " << SHOW(merger) << std::endl;
  + for (auto merger : mergers) {
  + for (auto mergeable : merger->mergeables) {
  + out << SHOW(mergeable) << " -> " << SHOW(merger->type) << std::endl;
  if (method_dedup_map.count(mergeable)) {
  for (auto& symbol_map : method_dedup_map.at(mergeable)) {
  @@ -477,6 +475,7 @@ void write_out_type_mapping(
  }
  }
  }
  + }
  out << std::endl;
  os << out.str();
  @@ -627,7 +626,7 @@ std::vector<DexClass*> ModelMerger::merge_model(Scope& scope,
  // Write out mapping files
  auto method_dedup_map = mm.get_method_dedup_map();
  - write_out_type_mapping(conf, mergeable_to_merger, method_dedup_map);
  + write_out_type_mapping(conf, to_materialize, method_dedup_map);
  if (!to_materialize.empty()) {
  post_process(model, type_tags, mergeable_to_merger_ctor);
  }
  