cleanup, use C99, move description to public header
remove new_d_entity like functions

Entities need not be in their final form after the new_entity call, so
there is no need to have _d variants like we have with all the graph
nodes. You can easily use set_entity_dbg_info() after construction.
remove new_d_type like functions

Types need not be in their final form after the new_entity so there is no
need to have _d variants like we have with all the graph nodes. You can easily
use set_entity_dbg_info() after construction.
some cleanups
improve entity check
add function to check if a type is a segment
put generated files into builddir, fix out-of-tree builds

This is a major Makefile refactoring:
differentiate between:
- source files in $(srcdir)
- generated files in $(top_builddir)/gen
- object files in $(top_builddir)/$(variant)/ aka $(builddir)
- documentation in $(top_builddir)/doc
use gcc -MP instead of match-all %.h rule
adapt to latest DoxyGen version
whitespace fix