What kind of change does this PR introduce? (Bug fix, feature, docs update, ...)
This pr introduces control flow basic control flow analysis to the language server. Basic cases of unreachable code are now detectable. The idea here is the control flow may eventually be incorporated into the type checker. Copying typescripts flow based type analysis.