Change CookbookCollaborator to Collaborator

:fork_and_knife: I've decided to just include the first part of implementing collaboration with tools since this diff is getting a bit large :blush: Basically so we don't have to duplicate almost all of the collaborator functionality to be used with Tools this refactors `CookbookCollaborator` to `Collaborator` with a polymorphic association to either `Cookbook`, `Tool` or any other potential future shareable resource. All that needs to be done to support this functionality with tools is some view implementation but that will come in another PR.
I think you want `resourceable_type` for that second hash key (which ought to fix the broken tests).