Make categories optional

:convenience_store: 

Categories have been missing from the UI for awhile but were still required by the API and at the model level.  This removes all of that so that categories are optional now.

Note that knife still requires a category (AFAIK), so if you're using knife, you still need to specify one.  There is an outstanding issue on the chef repo to remove that constraint from knife.  https://github.com/opscode/chef/issues/2099
I think it's correct as is.  `category` is a private method that looks up the `Category` in the database, using `@params.category_name`.  If `@params.category_name` is present, but `category` is nil, that means someone is trying to submit with an invalid category, i.e. one that's not present in our database.  If someone submits with no category at all, then not only will `category` be nil, but `@params.category_name` will be nil/empty also.