Options for feature readers and writers to support transforms

See #2258. This is still work in progress, because the options need to be added to other formats than GeoJSON, and unit tests are missing.

However, reviews are welcome any time because changing things is easier now than later.

Closes #2258.
Shouldn't you use `clone ?` here rather than `write ?`?