DSL: Support waitUntil in Objective-C

Support waitUntil in Objective-C.

- Split waitUntil DSL into its own Swift file.
- Convert original waitUntil functions into class methods in order to
  bridge them to Objective-C using the `@objc` keyword.
- Define Objective-C DSLs to call the newly created class methods.
- Add objc tests for the new DSL.
- Update README.

Fixes #71.
The non-static `dispatch_once_t` is intended. It's to ensure the `action()` doesn't get called multiple times per `waitUntil` call, but the dispatch_once closure should be called once per invocation of `waitUntil`.