message: move out_deleted to opts
diff: var opts: ICombineOptions = {
  trimDeadEnds: true,
  - pointMatchingDistance: .005
  + pointMatchingDistance: .005,
  + out_deleted:[{ paths: {} }, { paths: {} }]
  };
  extendObject(opts, options);
  checkForEqualOverlaps(pathsA.overlappedSegments, pathsB.overlappedSegments, opts.pointMatchingDistance);
  function trackDeleted(which: number, deletedPath: IPath, routeKey: string, offset: IPoint, reason: string) {
  - options.out_deleted[which].paths[counts[which]++] = deletedPath;
  + opts.out_deleted[which].paths[counts[which]++] = deletedPath;
  path.moveRelative(deletedPath, offset);
  var p = deletedPath as IPathRemoved;
  p.reason = reason;
  }
  var counts = [0, 0];
  - options.out_deleted = [{ paths: {} }, { paths: {} }];
  for (var i = 0; i < pathsA.crossedPaths.length; i++) {
  addOrDeleteSegments(pathsA.crossedPaths[i], includeAInsideB, includeAOutsideB, true, opts.measureA, (p, id, o, reason) => trackDeleted(0, p, id, o, reason));
  