A C++ wrapper for Objective-C blocks to guarantee execution exactly once.
Useful to make sure completion handlers of a asynchronous APIs are called exactly once.
See sample usage in unit tests: https://github.com/yixiang/ExactlyOnceBlock/blob/master/ExactlyOnceBlockTests/ExactlyOnceBlockTests.mm
Not thread-safe yet.