Canonicalize createDirectory() on IFilePath.

Included are implementations of the method for all classes, as well as tests.

The abstract test is modified for ReadOnlyPath since createDirectory()
unconditionally raises an exception on that class.