Short documentation on how building type should be accessed in Glob2

Stephane Magnenat 2004

In glob2, each version of a building has a BuildingType. For instance, a inn level 0
has a different one from a inn level 1 and a different one from a inn level 0 building site.

They are stored in the BuildingsTypes container during game and in data/building.txt
on disk. In game, the prefered way to access a BuildingType is a pointer that can be queried
to BuildingsTypes. When a pointer is not possible (for network message for instance), the
index in BuildingsTypes can be passed. This integer is then called a typeNum.

This is simple. Now the complex part.

In the data/building.txt, each BuildingType has a field named type, that is a string and
refers to the user type of building (inn, hospital, ...). The corresponding BuildingType pointer
(or index) can be queried to BuildingsTypes by passing the user type (string), the level (int),
whether it is a building site (bool). When working with user type, the prefered format is string.
However, for historical or efficiency reasons, it is sometimes necessary to have an int. The
transformation between user type in string and in int can be done by the IntBuildingType static
translator. A user type in int is called a ShortNumberBuildingType.
