This keeps the IHttpClient interface simpler and ensures the
deserialization responsibility lies outside of that class. It only
needed the Type parameter for a special case that could be handled in a
better way.
any assertions.
Adding Received() where it was missing.
The majority of these instances were unawaited AssertEx.Throws
They are now all either awaited or replaced with Assert.Throw
Assert.Throw was used when possible and when not an option
AssertEx.Throw was awaited.