Refactor to merge builder.go into runtime.go

builder.go, and the Builder type it defines, should be merged into runtime.go/Runtime. It is left over from a previous architecture and unnecessarily complicates the code.

This pull request also adds missing comments to runtime.go.