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.
allow assigning materials to instances of objects without material slots.
by default, caustics are now disabled for the unidirectional path tracer.
updated reference images.
tweaked styling of the HTML test suite report.
removed redundant comment.
fixed rare crash.

two fixes:
  - filter out additional degenerate triangles;
  - don't use alpha masks after hitting a degenerate triangle.
tweaked compilation flags for Linux and OS X platforms.
don't define SSE_ALIGN if APPLESEED_ALIGN() could not be defined.
added support for multiple material models.
cosmetics.
updated Windows devkit packaging script.
Merge branch 'master' into OSL_merge
improved build system.

* added a USE_SSE CMake option (default is ON): when set to ON, the APPLESEED_USE_SSE preprocessor symbol is defined and the -msse and -msse2 compilation flags (or their equivalents on Windows) are added.
* removed the -march=native compilation flag that was added in 23b9234fa30250fe6b408085197042c060ee0eaa for Linux and OS X platforms.
* the version string returned by foundation::Appleseed::get_lib_version() now states whether appleseed was built with SSE instruction sets enabled.
* miscellaneous fixes, tweaks and cleanups.
Merge branch 'master' into OSL_merge
bug fix: don't enable File -> Reload Project if the project has no path.
print total and process virtual memory.