For the original bug reimport requiring this change, please see LP: #1755247.

In the common case, we just need one tag: import/<version>, escaped according
to DEP-14. In edge cases, we sometimes find that a publication has a different
tree that must appear at a different place in the commit graph, so we need to
reimport the same (changelog) "version" multiple times even though they have
different contents. In this case, we use the following scheme:

- By definition, import/<version> already exists since we only use this scheme
  when it already exists and need to tag another import with the same version
  string.
- reimport/import/<version>/0 is created if it doesn’t already exist and is pointed to
  the same commit as import/<version>. Assertion: if it does already exist, it
  must point to import/<version> already; anything else is an importer error.
- reimport/import/<version>/1 is created and points to the new commit as required. If
  the /1 suffix already exists, use /2, falling back to /3, /4, etc.

The same naming schema applies (no pun intended) to the patches-applied tags,
which live under applied/ and reimport/applied/ rather than import/ and
reimport/import/.
