HPACK fixes and tests (dotnet/corefx#38324)
* HPACK correctness tests/updates. Resolves dotnet/corefx#31316.
Fixes:
- Fix check allowing out-of-bounds write in IntegerEncoder when an integer requires more than one byte and there is not enough buffer space.
- Encode Content-Type with a "Literal Header Without Indexing -- Indexed Name" rather than with a literal name.
Updates: (ported from ASP.NET HPACK code)
- Dynamic table size update must be the first instruction in the header block. Throw an exception when not the case.
- Throw an exception when we've reached the end of header data and we are still mid-parse.
New:
- Asserts, documentation, and tests for IntegerEncoder and IntegerDecoder.
- Tests to verify HttpClient is correctly encoding the different variants of headers.
- HPackDecoder tests (ported from ASP.NET)
* Address review feedback and fix CI.
* Address review feedback.
* Fix licensing to use ASP.NET's licensing. Add a TPN.
Commit migrated from https://github.com/dotnet/corefx/commit/
ed526597f3f0d4653588ba0129fcaf18e2e5a4ef