Fix validation check within Utf8JsonWriter for writing a primitive value after another complete value has been written. (dotnet/corefx#39796)
* Fix validation check within Utf8JsonWriter for writing a primitive
value.
* Update the unit test to pass in JsonValueKind as an inlinedata option.
* Test cleanup.
* Remove use of _isNotPrimitive as that is redundant and unnecessary.
* Some more test clean up - validate bytespending moves.
* More test clean up - ensure bytespending remains as is when we throw.
* Invert check order to rely on short-circuiting.
* Address feedback and add comment related tests.
Commit migrated from https://github.com/dotnet/corefx/commit/
47c35fe385c18d5f0a4ceacea381f790db472ba2