Checks the fragment structure, solution block, chunk labels, variable
prefix, and answer helper. A fragment must have no YAML front matter,
exactly one H2 heading, and exactly one ::: unilur-solution block.
Examples
index_file <- example_question_index()
index <- read_question_index(index_file)
path <- file.path(dirname(index_file), index$file[[1]])
validate_question(path, index$id[[1]], index$type[[1]])