replace fp_model stuff with allow_imprecise_float_transforms flag

Most aspects of the fp_model flag would need to be enforced by
constructing the firm graph in a certain way. Setting it as a flag won't
help. Apart from that nearly nothing of the stuff was implemented
anyway.
fix bad comparison

! binds tighter than <
replace incomplete hack with existing firm function
remove odd is_irn_pinned_in_irg function
remove overly complicate pass management code

Nobody uses it currently, and it is a burden for everyone writing a new
pass.
Remove an unneeded Sync edge when inlining.

When inlining a function, cparser produces a Sync after the parameters
have been copied, which has an edge to the Call's memory input. If there is
at least one struct argument, this edge is not needed, and will not be
generated now.

Also, if there is only one parameter, the Sync itself is not generated.
Fix read-after-write optimization.

Previously, if the load and store mode were equal, the optimization
aborted immediately. This is not necessary, we must only abort if the load
and store modes' arithmetic are not equal.

This causes a bug in type-based alias analysis to appear: When a CopyB is
lowered to Loads and Stores, the modes of these are always Iu instead of
the actual modes of the struct's members. The test-case "opt/fehler199.c"
will fail as a result.

Therefore, type-based alias analysis is switched off in cparser.