Added support for warning about and skipping files.

Files that do not exist or user does not have read access to
are skipped and users are warned that the file is skipped.
Now that a new `warning` key is being added here, I think it's worth having a specific type for result queue items.  Otherwise it's makes it hard to track down what exactly you need to enqueue on a result queue.  This is documented in `PrintThread`'s docstring, but as is this case here it's easy for that to get out of date.

Consider using something like `awscli.customizations.s3.utils.IORequest`, which is what the IO thread uses for its IO queue elements.  That way there's a single class to check all the attributes that are allowed for queue elements.