remove support for trampolines/nested functions

- It was only available in the ia32 backend and broken there. As the
  feature is rarely used, I remove it for now instead of going through
  the trouble of fixing it.
Connect to end block.
Use gauss jordan.
Check that the Gauss-Jordan algorithm did not fail on the matrix.
Implemented matrix simplification in execfreq.

Only blocks which have a backward jump will be part of the linear system,
because the execution frequencies of other blocks can be computed by simple
substition from the predecessors.

This speeds up the execfreq algorithm and finds a solution more often, but may
still have problems with some ill-conditioned matrices.
Use QR decomposition instead of Gaussian elimination in execfreq.

The matrices generated by execfreq tend to be not well conditioned.
Therefore, it is advisable to use a numerically stable algorithm, such as
QR decomposition.

Besides, QR decomposition can be used to directly get a matrix' null space,
which is what execfreq actually needs.
Provide Load nodes with the type of the object loaded from.
Provide Store nodes with the type of the object stored to.
Make arguments of is_SubClass_of constant.
Include the type of the objects in memory in alias analysis.
Clean up alias analysis code.