Changed the TARGETS definition to be on several lines.

Fixed the math on substrings so we don't chop off the first character of an item's name.

Fixed the PullCollection method to better handle overlap between two datasets. We combine the files from the two sets before distincting and grouping them.

Fixed the WriteFilesAsync method so it can handle the case of files/directories not existing at the time of write.