More parser improvments

According to GeoJSON if you want a `null` value `geometry` or `properties` you have to use `null` not an empty object.

This also adds new options for `idAttribute` on both `parse` and `convert` which will attempt to set the proper `id`s in the proper places.