Build: Build executables / tests in parallel.

We first build the library, and can then build everything else in parallel, since executables/tests cannot depend on each other.

This is important because if they did, we would we writing and reading files at the same time.