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
Unfortunately `cookbooks_to_upload` is already a function name in this file. Changed to `cookbooks_for_upload` [here](https://github.com/opscode/chef/commit/3db99f173eb338d54bbbffe5f15384ee8f888010), but if you have a better idea for the variable name, I am open to it.