Improve ArgWriter.write() documentation and fix bug.

Previously, ArgWriter.write() required a filepath that included the .arg
extension (or at least a period) or else it would fail.  It now will accept
".arg" extensions but does not require it.  It allows a "." extension for
backwards compatability.

This commit also updates the write() documentation and the names of its
arguments for greater clarity about the meaning of the arguments.

Fixes #421