Fix test bug on 32-bit arch.
Continuing work on capnp C++ parser.
Fix pointer corruption when using orphaned struct lists.
Fix file name extension for parser.c++.
Complete C++ .capnp parser.  Also, add a pretty-printing function for arbitrary Cap'n Proto objects which is like the existing stringification but uses whitespace (newlines an indentation) to make the structures more readable.
This should have been in the last commit but apparently I botched the --amend and then pushed without realizing.
Implement mutex and once-init synchronization primitives.  Wrap pthreads for now, but plan on raw futexes later.
Allow getting readers from const Orphans, and other tweaks.
Remove allocator hack in SchemaLoader, use kj::Arena.
Allow non-const kj::Lazy.
Allow SchemaLoader to use a callback to lazily load schema nodes, including dependencies of loaded nodes.
Fix subtle bug in KJ_DEFER that didn't come up in practice due to RVO.
Various tweaks.
Make kj::Arena thread-safe.
kj::Thread
Fix subtle bug.
Thread-safe message builders...  not performing well.  Might revert.
Futex-based mutex and once-init implementations for Linux.  These are measurably faster -- and much smaller -- than the pthread-based implementations.
Fix OSX build.
Apparently read locks are not recursive on BSD/OSX.  Adjust test so that it doesn't deadlock.