Introduce service for constructing builds.
Test runner writes output to build.
Test result no longer holds output.
Structure specs in similar fashion to lib directory.

This follows convention and allows quick jumping between file and it's spec.
Rename specs to fix typos.
More meaningful attribute name in test result.
Change build service subscribers API.

- pass explicit test result
- remove ouput, now implicit from build
Make build even dumber.
Create build output files under workspace root.

This commit introduces duplication. This is intentional to move forward
and should be addressed soon.