CDK-347. Implement DatasetTarget#handleExisting and WriteMode support.

What I've implemented is more like the Crunch behaviour for working with files: if the directory exists (even if empty) then the job fails. If you want the job to proceed in that case then you use append or overwrite.