Revert 158bf76..c3818bb

This rolls back to commit 158bf76d2c5c284278b7e82bd097e6dce3af8855.
Revert "Revert 158bf76..c3818bb"

This reverts commit c729308d8a387e421361c4c6e7e0c65cb4711691.
Single-threaded completion

It works with checking multithreaded, but the tree is still single
threaded in that you can only safely add one thing at a time.