nested closures are flattened by calling supplementErrorMessage() directly

A closure C that becomes an argument to the constructor of another closure makes both closures harder to eliminate (either by scalac-optimizer or JIT-compiler) than is the case when C is the argument to an @inline method.
comments on avoiding closure allocation in Global's assert() and require()
Merge pull request #1830 from magarciaEPFL/unnest-closures-supplementErrorMessage

nested closures are flattened by calling supplementErrorMessage() directly