add flag to toggle check for expected variable names

The check for expected variable names is only done when the "Warn if student uses an unexpected variable name" box is ticked.
When it is ticked, an empty list of expected variables means that any variable will trigger the warning. (this is different from before, when an empty list would mean the check wasn't done at all)

see #280