Add support for generic interface-based collections in JsonSerializer (dotnet/corefx#36756)
* Add support for generic interface-based collections in JsonSerializer
Specifically, add enumerable converters for:
* IEnumerable<T>
* ICollection<T>
* IList<T>
* IReadOnlyCollection<T>
* IReadOnlyList<T>
This partially addresses https://github.com/dotnet/corefx/issues/36643
* Address review comments
* Add serialization tests for generic interface collection as members of class objects
Commit migrated from https://github.com/dotnet/corefx/commit/
cc01ec9a781c4af5afd495c5b80a1f7d9616bed2