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