Fix bugs in updated/simplified FileWriter class

Overloaded method was deferring to signature with Object as parameter
instead of Map.

Created a dimension map copy instead of a new dimension map for each
pass through loop to store multiple files.

Added comment to promote use of canonical pathway.
Fix file extension of table file when not using transactions

Before it defaulted to a jxw extension for all non-transactional table
writing. This should be flexible and defined by the "extension"
parameter of the function.
Throw new IOException in DirectoryManager for canonical paths

Previously, we used absolute paths but we should probably use canonical
paths. However canonical paths can throw and exception.
DirectoryManager should allow the users of this class to deal with that
exception.
Throw exception when splitting of ArffTables with invalid dim

Previously we were essentially silent on the issue with a vague null
pointer exception.