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.
As you do below, it looks like you could take advantage of `ol.proj.get(undefined) === null` (meaning you don't need to check if `opt_options.featureProjection` is defined).  Probably slightly more performant written the way you have it if we expect a lot of calls with no `featureProjection`.  Perhaps more performant the other way if we expect mostly defined `featureProjection`.  I don't really think it matters either way - just noticed the inconsistency :).