Refactored CodeGeneratorContext to CodeBuilderContext.

- Needed to separate the context's of "generation" and "building" to enable the communication of the TagHelperProvider.
This really seems *service-like*. Why does it need to be threaded through all of these layers? Why is it part of the *results*