Fix issue with use-package keywords overriding one another
Currently if you define both a :capf and :company argument for use-package it will call compdef twice, once with each argument. That means that the latter keyword will override the first and you will only get one of the settings instead of both. Since compdef has no required use-package keyword, it is harder to fix it on that side then to just create two seperate functions. One for capf and one for company.