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

The DatasetSourceTarget is package private, so we are not exposing it in the public API. Was that your concern?

Perhaps this would be simplified once Joey's work is committed, but I don't know if we need to wait for that for this to go in.