always recreate doxygen/

 * work around frequent Doxygen error
prefer $HOME over passdb when looking for .teco_ini

 * fixes sudo sciteco: will still use the real user's .teco_ini
 * when run with real user as root, will look in root's home dir
 * use g_get_home_dir() as a fallback
make sure a (void*)0 is used as sentinels

since including glib.h on LLVM-Clang (32-bit) results in NULL being
redefined to 0 and compiler warnings being emitted when NULL is used
as sentinels
disable some bogus warnings for LLVM/Clang

 * -Wmismatched-tags does not appear to exist on GCC:
   but we need to be able to refer to classes with both struct and class keywords
   because of the BSD data types
 * -Wchar-subscripts exists on GCC and may or may not be in -Wall.
   We disable it since we use character literals as subscripts - they are
   actually of type char in C++, in contrast to C where they are of type
   int.
declare all global inter-dependant objects in main.cpp and get rid of init_priority attribute

 * we cannot use weak symbols in MinGW, so we avoid init_priority for symbol
   initialization by compiling the empty definitions into
   sciteco-minimal but the real ones into sciteco
   (had to add new file symbols-minimal.cpp)
 * this fixes compilation/linking on LLVM Clang AND Dragonegg
   since their init_priority attribute is broken!
   this will likely be fixed in the near future but broken versions
   will be around for some time
declare State::Error::Error() as printf-like
remove all unused-attributes for parameters

 * compiler does not warn by default: this actually makes sense
 * so we don't need any unused-attributes
 * less GCC-extension based
 * on older GCCs I think -Wunused-parameters was enabled by -Wall
   we should add -Wno-unused-parameters if that's the case
add check for CLang: use clang-specific warnings only when compiling with CLang

 * fixes gcc-4.4 which does not have -Wno-mismatched-tags and no -Wunknown-warning
explicitly instantiate MicroStateMachine: fixes compilation with gcc-4.4
rewritten CHR2STR() using compound statement

 * fixes compilation on g++ 4.7 where compound literals are suddenly
   temporaries (from which you cannot get a pointer)
 * the compound statement (also GCC extension) should ensure that
   the string is allocated on the stack with automatic lifetime
avoid delete-non-virtual-dtor warning on g++ 4.7

 * the warning itself makes sense but in the cases reportet they
   were irrelevant
updated README: gcc 4.4 and later are supported

 * cleaned up dependency list