We should not be setting `completion-styles` or overriding `completion-category-overrides` in modules

The corfu module sets completion-styles to (orderless basic), and the vertico module overrides completion-category-overrides entirely instead of using setf.

I’m going to argue that this is bad, and we should do this instead:

For completion-category-overrides, I think it’s reasonable to modify relevant entries in that alist when enabling something like vertico. But overriding it completely is just a bug.

For completion-styles, we should set it to something reasonable given whatever stuff is enabled in init.el, but we make sure to set it before the user config is executed. This would make my bare top-level (setq completion-styles ...) work as intended.

I’m also going to argue that “something reasonable” is (flex) if that’s available, but you don’t have to agree with me on that.