Obtains a complete feature type from GeoJSON by parsing beyond first feature
and finding attributes that did not appear in the first feature or had null
If null values are encoded, parsing will stop when all data types are found.
In the worst case, all features will be parsed. If null values are not
encoded, all features will be parsed anyway.