Upgrade control flow graph.

Structural changes:

    - add unique entry node
    - add unique exit node
    - remove empty blocks
    - introduce error node for unresolved jump statements, or other unexpected
      errors like parse errors.

Changes for switch statements:

    - label edges of switch statements with the corresponding case label
    - distinguish between switch statements with and without default cases
    - handle break statements correctly.