Refactor: make AroundHookCollection not subclass HookCollection.

At this point it is not needed at all.
This allows us to change HookCollection to no
longer take an `initialize` argument, meaning `hooks`
is 100% internal to it now.
Split FilterableItemRepository#add into `append` and `prepend`.

This prepares it for use by hook collections, which need both methods.