Fixed compilation of the morbid tests

Basicaly reenabled some code that was "commented out".
Also renamed the file "Jamroot" to "Jamfile".
Created new functions to move some code from main.cpp to other compilation units.

The compilation of the main.cpp file was taking to much memory. To solve this, we created
new compilation units to hold the code used in the parse and generation process.

Created the headers "parse_functions.hpp" and "generate_functions.hpp", also created
a ".cpp" file for each functions inside of those.

Created the headers "module_map.hpp", "parse_types.hpp" and "skipper.hpp" to share some common
types used in most of the parse/generation functions.

Added some include clauses to other headers that were not including all the necessary files.
Removing invalid characters at the end of the include clause.
Split the reference_model_generator grammar in smaller files.

Divided the reference_model_generator grammar in smaller grammars, each one of them with its specific instanciation (using the idlc::output_iterator) compilated in a separated compilation unit.
Removed some unnecessary include clauses.
Moved the "atrribute" rule to a separated grammar to reduce memory consumption during compilation.
Added result_of include header