Split inferWriterDriver into two

Similar to #340, the 2-argument infer{Reader|Writer}Driver might try to
do too much by both modifying options and finding the correct driver.
This patch splits the inferWriterDriver into two pieces. The
inferWriterDriver part does just that, while a new method,
inferWriterOptionsChanges, modifies an options object based upon a given
filename.
Merge pull request #341 from gadomski/feature/split-infer-writer-driver

Split inferWriterDriver into two