LocalBuildInfo: Add some haddocks to componentsInBuildOrder etc
Refactor build (preparing for parallel build)
Add -j / --jobs flag to cabal build
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.