Actually destroy cookbooks and cookbook versions.

Destroys cookbooks and cookbook versions and adds controller level
specs to test this behavior. Also Adds a callback to the Cookbook
factory to create a CookbookVersion as a Cookbook isn't really valid
throughout most of the application without a version.