Rename `items` to `items_and_filters`.

It contains both, so the name should reflect that.
Refactor hook specs to be less coupled to internal hook structure.
Switch hooks to use FilterableItemRepository.

This allows us to kill off `Hook#options_apply?`.
Lazily instantiate HookCollection instances when needed.
Remove `Example/ExampleGroup.apply?`.

We want filtering to primarily go through FilterableItemRepository
so it’s better to not even support it directly off of these classes.

Ideally, we’d refactor FilterManager to use FilterableItemRepository
but they are essentially inverted: FilterManager tracks filtering
rules, and then is asked individually about whether or not an example
(the “filterable item”) is filtered.