Territory code aliases implementation is quite a mess, and to make it easier to maintain, use a directed acyclic graph to store the subdivision / country relationship as well as aliases.
With such a structure, we can easily solve #5 and check for stupid cycles in unit tests.
I think I'll leverage the NetworkX package to do so.