Survey logic

Validates a questionnaire with relevance conditions: unknown variables, duplicate codes, forward references, then computes which questions are visible, skipped and missing for a given response.