Fix UnreachableCodeIssue for gotos

The problem was that:

1. Label statements were not marked as reachable even if there were nodes pointing to them
2. Once an unreachable statement was found, all statements after it were marked as unreachable -- even if they were reachable labels.
3. When the beginning of a block was unreachable, the issue assumed the whole block should be marked as unreachable.