Issue 2391 - Check cookbooks exist in path(s) before attempting to upload them with --all

Made this change in response to #2391

* Added a check to make sure cookbooks exist in the path(s) before attempting to upload them all
* Added warning if no cookbooks exist
* Added tests for new logic
I wonder if we should be printing cookbook_repo.cookbook_paths here rather than reading config ourselves, since that's what's actually being iterated on above in this class. cookbook_repo is a Chef::CookbookLoader class that's initialized with config[:cookbook_path] in this class, so it should be the same thing... until it isn't.

Not a big deal, just musing.