Do not check for all variables in junctions Junctions are loaded before all variables can loaded. So there should not be errors for unused variables that are defined using undefined variables. Also this checks for undefined variables in the same time as looking for cycles. This will allow to show more errors to the user when both type of errors happen in the same time. This also simplify error handling in `_variables.pyx`.