Error page

Added separate HTML file to define the error page. Includes a
Flatlander sad face.
Moved set validation

The check that is done to check that $mini_test_frequency is a divisor
of $set_size is now done at the validation stage and prevents the
experiment from continuing if the condition is not met.
AND OR bug

Goddamn logic! The OR should have been an AND. Added a few comments to
explain what’s going on.
Even image size

Cropped the image size to an even width and height so that it works
better as an @2x graphic.
Explanation of the matcher array

Added comments to explain what’s going on
Improved map documentation

Added more detailed commentary to explain how the map works.
Tidied up commentary
Modifications to the communication instructions

British “take it in turns” = American “take turns”. British people are
okay with either, so changed to American style. Clarified the final
instruction, as it could be interpreted as “don’t press the I’m ready
button until your partner’s ready”.
Commentary and error page links
Removed unnecessary comment
Tidied up commentary

Also made some changes to the way that openFile() and writeFile() work
– e.g. openFile() should not need to obtain an exclusive lock on a
file. I suspect this might need a bit more work… is this really a safe
way to read and write data?