Implement opt-in cancellation for local calls.  (Previously, cancellation would happen whether or not the callee had opted in.)
Fix bugs.
Make EventLoop current when constructed, so that you can use the Promise methods even when the loop hasn't actually started yet.
Revamp concurrency model, part 1:  EventLoop no longer allows cross-thread event queuing, simplifying many things.  Capability clients are no longer thread-safe, so they don't have to be so const.  In the future, explicit ways to communicate between threads will be re-added, but threads will be treated more like separate vats that just happen to have a particularly fat pipe.  Upcoming:  Remove mutexes.
Fixes #39 - Obscure deadlock scenario in non-futex SimpleEventLoop implementation.
Remove a bunch of mutexes.
Use UnwindDetector to protect against exceptions in all these RPC object desturctors.
Remove more mutexes.
Simplify mutex usage in compiler code.
Eliminate the ability to have multiple threads working on building the same message -- performance penalty is too large, and applies even to single-threaded users.
Make kj::Arena not thread-safe since it hurts performance even when used single-threaded.
Remove some more mutexes and atomics that I missed.
Use non-atomic refcounting.
Misc tweaks.
Remove most of EventLoop interface in favor of equivalent Promise methods.
Re-arrange async headers a bit to improve organization.
Remove mention of threads from some comments.
Fix bug and slowness affecting evolution-test.
Tweak scheduling.
Add missing includes, ifdef-out RTTI-requiring debug code when RTTI disabled.