upgrade old UMC paths from data/campaigns/ to data/add-ons/

wmllint had held back from updating these paths, to prevent mainline paths from being changed too. However, these commits allow wmllint to distinguish between UMC and mainline paths.

To do this, one commit creates a list of mainline campaigns. Since this is only going to be used for this function, it would also work inside hack_syntax, but I consulted with shadowmaster, who advised leaving it as a global.

Then the main commit uses finditer to turn up and replace all the UMC paths. This code is more streamlined than my original code, which used a while loop.