Add ability to resolve all TagHelperDescriptors with one method call - DTH Communication Part 2

*This PR consists of several different aspects entailed by #214. It essentially covers bullet points 4-5.*

Add ability to resolve all `TagHelperDescriptor`s with one method call.
- Modified the `AddOrRemoveTagHelperSpanVisitor` to no longer manage `TagHelperDescriptor`s found in the system. Instead it now manages `TagHelperDirectiveDescriptor`s which are then used to resolve `TagHelperDescriptor`s.
- Changed the signature of `ITagHelperDescriptorResolver` to take in a `TagHelperResolutionContext` which will allow us to pass more information without breaking tooling.
- `TagHelperDescriptorResolver` now resolves all `TagHelperDescriptor`s at once and manages descriptors found in the system based on values on the provided `TagHelperDirectiveDescriptor`s.

Modify tests to use new `ITagHelperDescriptorResolver` signature.
- Updated all of the tests to use the new `ITagHelperDescriptorResolver` signature so instead of passing strings they now construct `TagHelperDescriptorResolutionContext`s.
- Removed several tests from the `AddOrRemoveTagHelperSpanVisitorTest`s. This was due to the change in responsibility of managing the found `TagHelperDescriptor`s; the `TagHelperDescriptorResolver` now does this.
- Added several new tests to verify the `TagHelperDescriptorResolver` manages resolved `TagHelperDescriptor`s based on the given `TagHelperDirectiveDescriptor`s.

#214

Part 1 PR: #218

/cc @yishaigalatzer @dougbu @pranavkm 
not understanding either @222 or the code comment here.
- does the "1 set of tag helper descriptors" always come from a single assembly?
- do we only unit test (the `TagHelperTestBase` context) `@removeTagHelper assemblyName` and not `@removeTagHelper assemblyName, typeName`?
- does #222 mean "functional test" when it mentions "end-to-end test"?

bottom line, please clarify this code comment to make it clear why line 53 works for the (quite limited, apparently) tests using this method.