A modern C++ scope guard that is easy to use but hard to misuse.
Implementation of Scoped Guards and Unique Resource as proposed in P0052.