Create new table/model for system hooks
To allow sharding for Cells we need 2 different tables for hooks. One for system-wide hooks, and another for group/project hooks. In addition to creating the new model, we should also extract any common behavior into modules which can be included in both instance and project/group level hooks.
Edited by Keeyan Nejad