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.
I'm more concerned about the error messages and less concerned about where we're exiting :smile: Having distinct error messages for supermarket can't be reached and cookbook not found sounds better and we can exit here if we need to to achieve that :smile: