add condition variables must satisfy

The set of variables for a question must satisfy the expression variablesTest.condition.
If it doesn't, it's regenerated until it does (or the maximum number of runs is exceeded).
Merge branch 'master' into variables-test
on loading, gapfill parts are submitted if any of their gaps are answered

fixes #356
on loading, gapfill parts are submitted if any of their gaps are answered

fixes #356
Merge branch 'test-variables'