[Plugins] Added support for hooks registratrion

##### Living TODO

- [x] Rebase
- [x] Review
- [x] Rename `Plugins` module to `HooksManager`
- [x] Use ruby objects instead of hashes
- [x] Changelog
As discussed in the chat channel, because it’s a hook that’s only used in very rare occasions and we don’t need to expose more than what’s actually needed atm.