Errors and warnings are printed to stderr.

Fixes https://github.com/aws/aws-cli/issues/820

cc @jamesls @danielgtaylor 
We do not want to return. The progress bar should always be the last thing printed for each print task, unless it is the last file.  The example you gave is legitimate since the ``...`` implies that there are files that will be attempted to be uploaded and the user should know that.  And it is also true that 0 parts have been uploaded because that file is skipped.  The progress bar is no longer printed once the number of completed tasks is equal to the number of expected tasks.  Warnings/Skips are not included in this count.  The behavior you described is the current behavior of the ``PrintThread`` even without my change.  My change only prints it to stderr as opposed to stdout.

If I was to put a return at the end of the that code block, there can be scenarios when the user is without the progress bar for a long period of time.  For example, if you had a bunch, like thousands of failed uploads, the progress bar would never show up because we never print it, and therefore the user would have no idea when the command is reaching an end.