new Python script to run the functional test suite (or parts of it) and generate an HTML report.
reverted commit d21a8edbc53c2adf5a0b1a9bc1a5a84ef7694f30, implemented new approach.

the message of commit d21a8edbc53c2adf5a0b1a9bc1a5a84ef7694f30 ("bug fix: some caustics-generating paths were still followed even when caustics were disabled.") was misleading. the goal of that commit was to take advantage of the fact that caustics were disabled to ignore other paths also prone to fireflies. unfortunately, it introduced a major regression: reflections by glossy materials of light-emitting materials were attenuated, sometimes significantly.

with this commit, we take a new, "lighter" approach: we now only ignore light emission after glossy-to-specular bounces (when following paths from camera to lights).
updated reference images.
modified test scenes and updated reference images.