cleanup, use C99
mark backend nodes as schedule_first where necessary
sparc: fix delay slot corner cases
do not push perm instructions before schedule_first instructions
automatically set block in spec when start_block flag is set
put irg link directly into node attributs

The previous approach put the irg link into the block attributes, so
while saving memory an extra indirection was necessary. Some testing
with valgrind massif+callgrind revealed that a direct link increses peak
memory usage by ~1% while also increasing runtime by ~1%. More
importantly the code gets a bit simpler and some strange corner cases can be
removed with the direct link.
rename proj attribute from Proj to num and change type to unsigned