Committing ScopeExit improvements: variadic macro syntax (with full backward compatibility to pp-seq), capture this, capture nothing (void), and C++11 extensions.