Ontological sanity checks

Until now, there was a problem with many of the language modules were written
before the ontology had stabilised. That meant that some of them simply
produced the wrong ontology, which meant there were problems translating to and
from those languages.

This commit introduces a new file (ontology.csv -- it opens in any major
spreadsheet applications), which describes the ontology. Whenever a language is
compiled, it is checked for ontological sanity, and any problems are printed to
the terminal. From now on, if any change should be made to the ontology, we'll
just change it in this spreadsheet and let the compiler nag us until language
source codes have been updated accordingly -- voila, we have a way of making
sure that the language modules are up-to-date!

ACHTUNG: The languages are not correct! That is going to be rectified as and
when.