Removed old type from core header
added compiletime check if module.h header is already included
Added static functions for doing core stuff

These internal functions are used to do the loading, processing and compiling.
There are just functions without implementations by now. Comments, what they are
supposed to do are added already.

This commit also adds the module_node struct for creating a chain of modules.
As they occur in the chain, they will be executed. Some modules might be not
executed for some data.

The execute_modules() function should execute the modules (as its name says).
This function has to care about which data needs to be passed to which module as
some data might not be passed to some modules.