Fixes #45 Provides a single-use Consumer implementation that delegates to a given Consumer and ensures that the delegate is only ever called the first time. Subsequent calls are ignored. Should be used in combination with cancelAfterUse() to provide clean, single-use semantics.