set compound alignment and size first

This avoids problems with wrong intermediate values getting read when
constructing recursive types.
Also update libfirm revision as only the new libfirm revision needs this
change (the previous one had a strange lazy algorithm for computing the
alignment).
abort with a proper error message if backend does not support trampolines
use C99
driver: Add missing #include <stdlib.h>.

This only worked due to include poisoning from libfirm.
Clean uo choose_optimization_pack().
format_check: Simplify specification of expected type qualifier.

This also includes the allowed qualifiers in the warning message.