Add Chef::Org model class

Chef Server 12 added multi-tenancy to the open source Chef Server. An
organization is the Chef Servers name for a tenant.  The Chef::Org
class provides a model of an organization to facilitate writting knife
commands that can interact with (create, destroy, list) Chef
organizations.

This implementation is copied directly from knife-opc, the knife
plugin currently in use by chef-server-ctl:

  https://github.com/opscode/knife-opc
An empty name is allowed only for consistency with other model objects, many of which don't either don't allow an argument in their constructor or have an optional name argument [0].  Since this is new code, I agree that an organization with no name doesn't make a lot of sense.  I'll fix this up in the next set of commits.


[0] https://github.com/opscode/chef/blob/master/lib/chef/node.rb#L87
     https://github.com/opscode/chef/blob/master/lib/chef/api_client.rb#L34