initialize colors to something valid

Just to be sure.
group language dialect options in a struct

Code is a bit clearer now and some bad ordering problems where we query
the c dialect before actually processing a source file are more clearly
visible now.
make is_ia32_cpu function public
group target machine specific settings together

This should make the code a bit simpler and makes it easier to see stuff
depending on the selected target.
reorganize/sort includes
move constant folding code into an own file
be robust against multiple exit_preprocessor() calls