Issue 11552 - Missing label is not caught during semantic

When a forward-referenced goto is encountered, add it to a list in the enclosing function and process them after body semantic (and adding the magic return label for out contracts/invariants) is complete.

This catches missing labels during semantic, preventing ctfe from icing.

https://d.puremagic.com/issues/show_bug.cgi?id=11552