Merge branch 'release/0.1.0' into develop
Added very basic benchmark script.
Switched from SplStack to plain PHP array.
Switch calls to Strand::kernel() to instead use member directly.
Removed CoroutineInterface::initialize() and associated event, they are unused and unnecessary.
Kernel now uses a regular PHP array for strand list.
Cache the current coroutine for each strand.
Avoid unecessary method calls in KernelApiCall.
Coroutine's no longer implement EventEmitterInterface, the finalize event was emitted too often to be practical. finally_ is still supported via an explicit mechanism on GeneratorCoroutine.
Swapped out tick-logic closures in Strand for a state-machine approach. Un-abstracted some shared code in GenerateCoroutine.
Switch bench script back to using futuretick/coop.
Merge branch 'feature/perf' into develop
Updated example in readme [ci skip]
[ci skip]
Removed more unused events: Strand suspend/resume.
Removed unused variables.
Updated to archer v1.1.3
Added a version of the promise-dns example implemented using React DNS directly.
Updated dependencies.
Fixed broken link and added link to promise-dns-react example [ci skip]