Allow `knife cookbook site share` to omit category

Re-created against master from https://github.com/opscode/chef/pull/2198.

This adds a feature for knife to lookup the category on an existing cookbook. This enables uploading new versions of existing cookbooks with much less pain.

Fixes https://github.com/opscode/supermarket/issues/826 as well.
#1 - understood. #2 -- I haven't changed the wording that it uses now. Before my change, without a category, users see `"You must specify the cookbook name and the category you want to share this cookbook to."` and after my change, users also see `"You must specify the cookbook name and the category you want to share this cookbook to."`. The only new message is if Supermarket is unreachable, in which case they see `"Error fetching cookbook to determine category"`.