Speed up handling of constant initializers.

Do not create nodes in the const code irg for the initializing
expressions, but handle them directly using tarvals.
add list of expression kinds not producing complex results

This also exposes the missing dereference case!
perform constant folding logic in frontend

This commit is a modified version of
9fc9eacc07e550eaa803c17ff0b198be3239d0c9 by Christoph Mallon
<christoph.mallon@gmx.de> adapted to cparser changes, some functions
renamed and extended with folding of complex values. Original comments:

Reimplement fold_constant_to_tarval() as fold_expression_to_value().
    - Do not depend on graph construction.
    - Only use the tarval module to fold constant expressions.
implement dereferencing a pointer to a complex value