Add found TagHelperDescriptors on a Razor page to GeneratorResults.

- Ultimately this enables tooling to inspect what TagHelperDescriptors were found on a document and construct HTML schema based off of them.
- Added XML doc on the classes I touched that didn't have docs.
- Added [NotNull] to the result construct parameters.
- Added tests to validate that TagHelperDescriptors flow when found after parsing a Razor document.

/cc @dougbu @pranavkm 

#215
what allocation are you saving?  fallback in the `ParserResults()` call is to `Enumerable.Empty<TagHelperDescriptor>()`.  besides that `Empty<T>()` does one allocation per `T` in the entire app.