adding a sync step that finds units already in pulp, saves them into the repo, and identifies all others as needing to be downloaded

also adding an option description to the DownloadStep constructor
adding improvements from review, including cancel support for the DownloadStep
Merge pull request #1085 from pulp/mhrivnak-sync-steps

adding a sync step that finds units already in pulp, saves them into the...